C coolingxyz Unregistered / Unconfirmed GUEST, unregistred user! 2004-04-11 #1 关闭自己程序打开的外部程序,是不是也只能用 findwindow 来找到句柄后才能关闭?<br><br>如果我用 Winexec 或 ShellExecute 函数打开外部程序时把返回值保存下来的,那能不能用这个返回值来关闭呢?<br><br>有没有这方面的资料?<br><br>请指教!<br>
关闭自己程序打开的外部程序,是不是也只能用 findwindow 来找到句柄后才能关闭?<br><br>如果我用 Winexec 或 ShellExecute 函数打开外部程序时把返回值保存下来的,那能不能用这个返回值来关闭呢?<br><br>有没有这方面的资料?<br><br>请指教!<br>
C Cowboy Blues Unregistered / Unconfirmed GUEST, unregistred user! 2004-04-11 #2 第一个问题:没错,这是常用的方法,知道这个就足够了。<br>第二个问题:不能,只能打开文件,不能用来关闭。
C coolingxyz Unregistered / Unconfirmed GUEST, unregistred user! 2004-04-11 #3 自己打开的程序也要用findwindow??<br><br>如果我同时打开了几个呢??<br><br>或是我的程序打开了一个,用户又打开了一个??那这样是关闭了哪个?我只要关闭我的程序打开的这个。怎么办??<br><br>关闭资源管理器窗口,而且是关闭正浏览(即当前选择目录)特定目录的资源管理器窗口。
自己打开的程序也要用findwindow??<br><br>如果我同时打开了几个呢??<br><br>或是我的程序打开了一个,用户又打开了一个??那这样是关闭了哪个?我只要关闭我的程序打开的这个。怎么办??<br><br>关闭资源管理器窗口,而且是关闭正浏览(即当前选择目录)特定目录的资源管理器窗口。
白 白河愁 Unregistered / Unconfirmed GUEST, unregistred user! 2004-04-12 #4 正确的方法是用createprocess 打开进程,然后就会返回一个 handle,<br>那就可以用 terminalprocess 来结束进程。
T tianrei Unregistered / Unconfirmed GUEST, unregistred user! 2004-04-12 #6 就象:白河愁说的:<br>自己写杀进程的代码可以了:看看下面的:<br>function TForm1.KillCourse(Item: integer): String;<br>var<br> h:Thandle;<br> aWord;<br> processInfo;<br> Name:string;<br>begin<br> Result:='';<br> try<br> p:=current.Items[Item];<br> Name:=ExtractFileName(P.ExeFile);<br> h:=OpenProcess(Process_All_Access,True,p.ProcessId);<br> GetExitCodeProcess(h,a);<br> if TermInateprocess(h,a) then<br> Result:=Name;<br> finally<br> end;<br>end;<br>
就象:白河愁说的:<br>自己写杀进程的代码可以了:看看下面的:<br>function TForm1.KillCourse(Item: integer): String;<br>var<br> h:Thandle;<br> aWord;<br> processInfo;<br> Name:string;<br>begin<br> Result:='';<br> try<br> p:=current.Items[Item];<br> Name:=ExtractFileName(P.ExeFile);<br> h:=OpenProcess(Process_All_Access,True,p.ProcessId);<br> GetExitCodeProcess(h,a);<br> if TermInateprocess(h,a) then<br> Result:=Name;<br> finally<br> end;<br>end;<br>