看到朋友的帖子,收藏一下。[2002-2-19]
枚举系统中正在运行的进程并终止指定的进程:
在 uses 里添加 TlHelp32 单元,另外在窗体上加一个 Button 和一个 Edit :
procedure TForm1.Button1Click(Sender: TObject);
var
Id: DWORD; // 进程标识
ExeFile: String; // 进程的文件名
Ret: Boolean;
SnapshotHandle: THandle; // (系统中进程或与该进程相关的碓、模块、线程的)快照的句柄
PE32: TProcessEntry32; // 进程入口
ProcHandle: HWND; // 进程的句柄
begin
ExeFile := LowerCase(Edit1.Text);
// 获得系统中所有进程的快照的句柄
SnapshotHandle := CreateToolHelp32Snapshot(TH32CS_SNAPPROCESS, 0);
PE32.dwSize := SizeOf(PE32);
// 获取快照里的第一个进程,保存其入口在 PE32 中
Ret:= Process32First(SnapshotHandle, PE32);
while Integer(Ret) <> 0 do
begin
if Pos(i, LowerCase(PE32.szExeFile)) > 0 then
try
Id := PE32.th32ProcessID; // 获得该进程的标
枚举系统中正在运行的进程并强制终止指定的进程
最新推荐文章于 2021-08-20 11:24:10 发布
通过TlHelp32单元,枚举系统中运行的进程并在Button点击事件中,查找并终止与Edit输入匹配的进程。使用CreateToolHelp32Snapshot获取快照,Process32First和Process32Next遍历进程,OpenProcess获取进程句柄,最后TerminateProcess强制结束进程。
摘要由CSDN通过智能技术生成