function TfmLogin.FindProcess(AFileName: string): boolean;
var
hSnapshot : THandle;
lppe : TProcessEntry32;
Found : Boolean;
begin
Result := False;
hSnapshot := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
lppe.dwSize := SizeOf(TProcessEntry32);
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;
Found := Process32Next(hSnapshot, lppe);
end;
var
hSnapshot : THandle;
lppe : TProcessEntry32;
Found : Boolean;
begin
Result := False;
hSnapshot := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
lppe.dwSize := SizeOf(TProcessEntry32);
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;
Found := Process32Next(hSnapshot, lppe);
end;
end;
if not FindProcess('ScktSrvr.exe') then
begin
ShowMessage('scktsrvr.exe未启用!');
exit;
end;
本文介绍了一个用于检查特定进程是否运行中的Delphi函数。该函数通过创建工具帮助快照并遍历所有进程来判断指定文件名的进程是否存在。

2835

被折叠的 条评论
为什么被折叠?



