列出所有进程要用哪些API? ( 积分: 20 )

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

sy0116

Unregistered / Unconfirmed
GUEST, unregistred user!
就像windows任务管理器那样,列出进程,要用到那些API?
 
Tlhelp32;<br>function&nbsp;KillTask(ExeFileName:&nbsp;string):&nbsp;Integer;<br><br>const<br><br>PROCESS_TERMINATE&nbsp;=&nbsp;$0001;<br><br>var<br><br>ContinueLoop:&nbsp;BOOL;<br><br>FSnapshotHandle:&nbsp;THandle;<br><br>FProcessEntry32:&nbsp;TProcessEntry32;<br><br>begin<br><br>Result&nbsp;:=&nbsp;0;<br><br>FSnapshotHandle&nbsp;:=&nbsp;CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,&nbsp;0);<br><br>FProcessEntry32.dwSize&nbsp;:=&nbsp;SizeOf(FProcessEntry32);<br><br>ContinueLoop&nbsp;:=&nbsp;Process32First(FSnapshotHandle,&nbsp;FProcessEntry32);<br><br>while&nbsp;Integer(ContinueLoop)&nbsp;&lt;&gt;&nbsp;0&nbsp;do<br><br>begin<br><br>if&nbsp;((UpperCase(ExtractFileName(FProcessEntry32.szExeFile))&nbsp;=<br><br>UpperCase(ExeFileName))&nbsp;or&nbsp;(UpperCase(FProcessEntry32.szExeFile)&nbsp;=<br><br>UpperCase(ExeFileName)))&nbsp;then<br><br>Result&nbsp;:=&nbsp;Integer(TerminateProcess(<br><br>OpenProcess(PROCESS_TERMINATE,<br><br>BOOL(0),<br><br>FProcessEntry32.th32ProcessID),<br><br>0));<br><br>ContinueLoop&nbsp;:=&nbsp;Process32Next(FSnapshotHandle,&nbsp;FProcessEntry32);<br><br>end;<br><br>CloseHandle(FSnapshotHandle);<br><br>end;<br><br><br>用这个改一下就可以了
 
参见我的进程门神:<br>www.655778.com
 
多人接受答案了。
 
后退
顶部