如何才能关闭正在运行的某一进程呢?(30分)

  • 主题发起人 主题发起人 sy0116
  • 开始时间 开始时间
S

sy0116

Unregistered / Unconfirmed
GUEST, unregistred user!
请问高手:如何才能关闭正在运行的某一进程呢?不能用Findwindow找handle再用sendmessage关闭,我在网上找了很多例程但都没成功,要求在Win 9X 和WIN 2K/XP下均可用
 
可用Findwindow找handle再用sendmessage关闭<br>你在论坛里面查一下 或者用结束进程也可以的
 
var<br> &nbsp;h:integer;<br>begin<br> &nbsp;h:=findwindow(nil,程序名);<br> &nbsp;PostMessage(h,WM_CLOSE,0,0); <br>end;
 
你是怎么让他关不了的呀,我现在就想让我的project.exe文件在任务管理器里不显示呢
 
不能用Findwindow找handle,要关闭的程序没有界面只有一个xxx.exe在进程列表中
 
uses<br> &nbsp;TLHelp32;<br>//ExeFileName为进程名<br>function KillTask(ExeFileName: String): Integer;<br>const<br> &nbsp;PROCESS_TERMINATE = $0001;<br>var<br> &nbsp;ContinueLoop: BOOL;<br> &nbsp;FSnapshotHandle: THandle;<br> &nbsp;FProcessEntry32: TProcessEntry32;<br>begin<br> &nbsp;Result := 0;<br> &nbsp;FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);<br> &nbsp;FProcessEntry32.dwSize := SizeOf(FProcessEntry32);<br> &nbsp;ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32);<br> &nbsp;while Integer(ContinueLoop) &lt;&gt; 0 do<br> &nbsp;begin<br> &nbsp; &nbsp;if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =<br> &nbsp; &nbsp; &nbsp;UpperCase(ExeFileName)) or (UpperCase(FProcessEntry32.szExeFile) =<br> &nbsp; &nbsp; &nbsp;UpperCase(ExeFileName))) then<br> &nbsp; &nbsp; &nbsp;Result := Integer(TerminateProcess(OpenProcess(PROCESS_TERMINATE, BOOL(0),<br> &nbsp; &nbsp; &nbsp; &nbsp;FProcessEntry32.th32ProcessID), 0));<br> &nbsp; &nbsp;ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);<br> &nbsp;end;<br> &nbsp;CloseHandle(FSnapshotHandle);<br>end;
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部