Delphi检查进程是否在运行

来源:互联网 发布:java纸牌游戏源代码 编辑:程序博客网 时间:2024/04/29 19:15

From: http://www.cnblogs.com/taobataoma/archive/2007/08/20/862668.html

{ Check if a process from the task list is active. } 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;

原创粉丝点击