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天前
|
机器学习/深度学习 TensorFlow 算法框架/工具
Gaussian Process
【6月更文挑战第14天】
18 4
|
2月前
|
Shell
etcd.service: main process exited, code=exited, status=203/EXEC
etcd.service: main process exited, code=exited, status=203/EXEC
66 1
|
网络协议
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.
645 0
|
网络安全 开发工具
【解决方案】A session ended very soon after starting. Check that the command in profile “XXX” is correct.
【解决方案】A session ended very soon after starting. Check that the command in profile “XXX” is correct.
833 0
【解决方案】A session ended very soon after starting. Check that the command in profile “XXX” is correct.
‘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?
483 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.的问题。
3308 0
Job for named.service failed because the control process exited with error code.怎么解决
成功解决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