Delphi编写一个程序,如何访问进程列表并且杀死一个程序

如题所示,在后台运行,发现一个aaa.exe在运行,然后那个程序就杀死他... 如题所示,在后台运行,发现一个aaa.exe在运行,然后那个程序就杀死他 展开
 我来答
windblast
2015-05-14 · 知道合伙人软件行家
windblast
知道合伙人软件行家
采纳数:5633 获赞数:13625
毕业于空军第一航空学院电子专业,1991年开始接触电脑,从事多年计算机编程,具有较丰富的经验。

向TA提问 私信TA
展开全部

请参阅以下代码:


Delphi中强制结束一个进程

AFileName指定xxx.exe就行了,如Excel.exe 
先Uses TLHelp32;

procedure EndProcess(AFileName: string);
const
  PROCESS_TERMINATE=$0001;
var
  ExeFileName: String;
  ContinueLoop: BOOL;
  FSnapshotHandle: THandle;
  FProcessEntry32: TProcessEntry32;
begin
  ExeFileName := AFileName;
  FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  FProcessEntry32.dwSize := Sizeof(FProcessEntry32);
  ContinueLoop := Process32First(FSnapshotHandle,FProcessEntry32);
  while integer(ContinueLoop) <> 0 do
    begin
      if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =
           UpperCase(ExeFileName))
       or (UpperCase(FProcessEntry32.szExeFile) =
           UpperCase(ExeFileName))) then
        TerminateProcess(OpenProcess(PROCESS_TERMINATE, BOOL(0),
                          FProcessEntry32.th32ProcessID), 0);
      ContinueLoop := Process32Next(FSnapshotHandle,FProcessEntry32);
    end;
end;
更多追问追答
追问
。。。怎么USES TLHelp32 提示找不到这个库
追答

估计你安装的版本不符,或者是软件未安装完整。


在高版本的 Delphi Xe,使用的是 Winapi.TlHelp32。


你可以搜索用Delphi 的 Find in Files 工具,以 CreateToolhelp32Snapshot 为关键字搜索delphi安装路径,看这个函数的所在单元及所在路径。


推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式