Check, if a process is running

简介:
{ 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;



    本文转自 OldHawk  博客园博客,原文链接:http://www.cnblogs.com/taobataoma/archive/2007/08/20/862668.html ,如需转载请自行联系原作者



相关文章
|
19天前
|
Shell
etcd.service: main process exited, code=exited, status=203/EXEC
etcd.service: main process exited, code=exited, status=203/EXEC
22 1
|
11月前
|
网络协议
Job for named.service failed because the control process exited with error code.
Job for named.service failed because the control process exited with error code.
510 0
成功解决ConvergenceWarning: lbfgs failed to converge (status=1): STOP: TOTAL NO. of ITERATIONS REACHED L
成功解决ConvergenceWarning: lbfgs failed to converge (status=1): STOP: TOTAL NO. of ITERATIONS REACHED L
gconf-sanity-check-2 exited with status 256
gconf-sanity-check-2 exited with status 256
‘Client‘ is not allowed to run in parallel.Would you like to stop the running one?
‘Client‘ is not allowed to run in parallel.Would you like to stop the running one?
448 0
‘Client‘ is not allowed to run in parallel.Would you like to stop the running one?
|
网络协议
Job for named.service failed because the control process exited with error code.怎么解决
本篇内容记录了如何解决Job for named.service failed because the control process exited with error code.的问题。
3070 0
Job for named.service failed because the control process exited with error code.怎么解决
Starting a Gradle Daemon, 5 busy and 1 incompatible and 1 stopped Daemons could not be reused, use --status for details FAILURE: Build failed with an
执行gradle build出的问题,查看hs_err_pid11064.log日志文件发现,是电脑的RAM不足导致
3967 0
|
关系型数据库 Java MySQL