Delphi中上指定进程(进程名)

来源:互联网 发布:sql distinct * 用法 编辑:程序博客网 时间:2024/05/22 03:36
procedure KillProcess(ExeName: string);  const    PROCESS_TERMINATE = $0001; //进程的PROCESS_TERMINATE访问权限   var    ContinueLoop: Boolean;    FSnapshotHandle: THandle;    FProcessEntry32: TProcessEntry32;  begin    //获取系统所有进程快照     FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);    //调用Process32First前用Sizeof(FProcessEntry32)填充FProcessEntry32.dwSize     FProcessEntry32.dwSize := Sizeof(FProcessEntry32);    //获取快照中第一个进程信息并保存到FProcessEntry32结构体中     ContinueLoop := Process32First(FSnapshotHandle,FProcessEntry32);    while integer(ContinueLoop) <> 0 do //循环枚举快照中所有进程信息     begin      //找到要中止的进程名       if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) = UpperCase(ExeName))        or (UpperCase(FProcessEntry32.szExeFile) = UpperCase(ExeName))) then         TerminateProcess(OpenProcess(PROCESS_TERMINATE, BOOL(0),FProcessEntry32.th32ProcessID), 0);     //中止进程       ContinueLoop := Process32Next(FSnapshotHandle,FProcessEntry32); //查找下一个符合条件进程     end;  end;  

原创粉丝点击