gpt4 book ai didi

delphi - 如何使用Delphi检查进程是否正在运行?

转载 作者:行者123 更新时间:2023-12-03 14:36:10 25 4
gpt4 key购买 nike

与此问题类似,但在 Delphi 中:

How do I find out if a process is already running using c#?

我有一个更新程序,我希望它检查要更新的程序当前是否正在运行,最好它会检查所有用户,而不仅仅是当前用户。

最佳答案

来自:http://www.delphitricks.com/source-code/windows/check_if_a_process_is_running.html

uses TlHelp32; 

function processExists(exeFileName: string): Boolean;
var
ContinueLoop: BOOL;
FSnapshotHandle: THandle;
FProcessEntry32: TProcessEntry32;
begin
FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
FProcessEntry32.dwSize := SizeOf(FProcessEntry32);
ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32);
Result := False;
while Integer(ContinueLoop) <> 0 do
begin
if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =
UpperCase(ExeFileName)) or (UpperCase(FProcessEntry32.szExeFile) =
UpperCase(ExeFileName))) then
begin
Result := True;
end;
ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
end;
CloseHandle(FSnapshotHandle);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if processExists('notepad.exe') then
ShowMessage('process is running')
else
ShowMessage('process not running');
end;

关于delphi - 如何使用Delphi检查进程是否正在运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/876224/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com