怎样得到打开程序的句柄?(20分)

  • 主题发起人 主题发起人 一成
  • 开始时间 开始时间

一成

Unregistered / Unconfirmed
GUEST, unregistred user!
我用shellexecute语句打开c:/iii.exe程序,现在想要得到iii.exe的句柄,怎么写<br>用findwindow我做不到,因为这个程序任务管理器里面隐藏了,我的想法是可不可以直接在打开的<br>时候就得到句柄
 
用createprocess<br><br>--<br>http://www.8421.org
 
用CreateProcess()很容易做呀,呵呵,返回的哪个参数就是他的进程句柄,
 
具体怎么用?还有别的方法吗
 
基本上没别的其他办法
 
那怎么用啊,老大,help me<br><br>我记得原来看到过类似于下面的语句,不知是不是我记错了<br>handle:=shellexecute(.....); //打开的时候就得到句柄<br>我没试得起来,这样的语句有没有得到的可能
 
shellexecute:<br>If the function succeeds, <br>the return value is the instance handle of the application that was run, <br>or the handle of a dynamic data exchange (DDE) server application.<br>
 
CreateProcess()怎么用?张大侠能否说说
 
Delphi的帮助中说:<br><br>BOOL CreateProcess(<br><br>&nbsp; &nbsp; LPCTSTR lpApplicationName, // pointer to name of executable module <br>&nbsp; &nbsp; LPTSTR lpCommandLine, // pointer to command line string<br>&nbsp; &nbsp; LPSECURITY_ATTRIBUTES lpProcessAttributes, // pointer to process security attributes <br>&nbsp; &nbsp; LPSECURITY_ATTRIBUTES lpThreadAttributes, // pointer to thread security attributes <br>&nbsp; &nbsp; BOOL bInheritHandles, // handle inheritance flag <br>&nbsp; &nbsp; DWORD dwCreationFlags, // creation flags <br>&nbsp; &nbsp; LPVOID lpEnvironment, // pointer to new environment block <br>&nbsp; &nbsp; LPCTSTR lpCurrentDirectory, // pointer to current directory name <br>&nbsp; &nbsp; LPSTARTUPINFO lpStartupInfo, // pointer to STARTUPINFO <br>&nbsp; &nbsp; LPPROCESS_INFORMATION lpProcessInformation // pointer to PROCESS_INFORMATION &nbsp;<br>&nbsp; &nbsp;);[8D]
 
这个函数的每个参数可以写出很多东西,很复杂
 
多人接受答案了。
 
后退
顶部