检测进程是否存在,简单方法。

function CheckProcessExist(const AFileName: string): Boolean;
var
//用于获得进程列表
hSnapshot: THandle;
//用于查找进程
lppe: TProcessEntry32;
//用于判断进程遍历是否完成
Found: Boolean;
begin
Result := False;
//获得系统进程列表
hSnapshot := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
//在调用Process32FirstAPI之前,需要初始化lppe记录的大小
lppe.dwSize := SizeOf(TProcessEntry32);
//将进程列表的第一个进程信息读入ppe记录中
Found := Process32First(hSnapshot, lppe);
while Found do
begin
if ((UpperCase(ExtractFileName(lppe.szExeFile)) = UpperCase(AFileName)) or (UpperCase(lppe.szExeFile) = UpperCase(AFileName))) then
begin
Result := True;
end;
//将进程列表的下一个进程信息读入lppe记录中
Found := Process32Next(hSnapshot, lppe);
end;
end;

procedure TForm4.btn1Click(Sender: TObject);
begin
if CheckProcessExist(Trim(edt1.Text)+'.exe') then
begin
ShowMessage('检测到了');
end else begin
ShowMessage('不存在');
end;
end;

(转至:http://blog.qdac.cc/?p=4177)

转载于:https://www.cnblogs.com/penginfo/p/6551392.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值