关于OpenProcess调用不成功求助----急,分全给了,谢谢!(15分)

  • 主题发起人 主题发起人 terrace
  • 开始时间 开始时间
T

terrace

Unregistered / Unconfirmed
GUEST, unregistred user!
begin<br>&nbsp; ZeroMemory(@lSI,sizeof(lSI)) &nbsp;;<br>&nbsp; lSI.cb := SizeOf(lSI);<br>&nbsp; lSI.dwFlags := STARTF_USESHOWWINDOW;<br>&nbsp; lSI.wShowWindow := SW_SHOWNORMAL;<br>&nbsp; CreateProcess(nil,PChar('c:/func/project1.exe'),nil,nil,false,0,nil,nil,lSI,lPI);<br>&nbsp; h:=OpenProcess(PROCESS_QUERY_INFORMATION,true,lpi.dwProcessId);<br>end;<br>进程已经创建成功了,可为什么OpenProcess返回给h的值为0呀即调用失败,<br>我将h:=OpenProcess(PROCESS_QUERY_INFORMATION,true,lpi.dwProcessId)改<br>为h:=OpenProcess(PROCESS_QUERY_INFORMATION,true,lpi.hProcess);仍然返回<br>0即失败,请高手指点,谢谢!!!<br>
 
我也没看出来。<br>你把<br>OpenProcess(PROCESS_QUERY_INFORMATION,true,lpi.hProcess);<br>改为<br>OpenProcess(PROCESS_ALL_ACCESS,false,lpi.hProcess);<br>试试<br>
 
没看出什么不妥,先用楼上的试试!<br>
 
用GetWindowThreadProcessID()获取进程ID
 
QSmile朋友:<br>&nbsp; &nbsp; 你的方法我试了,还是不行。<br>fftou朋友:<br>&nbsp; &nbsp; 我要创建的进程并没有窗口,因此GetWindowThreadProcessID()没有用。<br><br>咋办呢???
 
createprocess不就返回句柄了么
 
顶。。。
 
后退
顶部