OldHawk

菜地一块,欢迎拍砖
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

检查某个exe文件是否正在运行

Posted on 2007-08-15 11:05  OldHawk  阅读(983)  评论(0编辑  收藏  举报
function exe_is_running(const exeName:String) : Boolean;  //exeName:不要扩展名的Exe主文件名   
var  
  hCurrentWindow:HWnd;   
  szText:array[
0..254] of char;   
begin  
  Result :
= False;   
  hCurrentWindow:
=Getwindow(Application.Handle,GW_HWNDFIRST);   
  
while hCurrentWindow <> 0 do  
  begin  
    
if Getwindowtext(hCurrentWindow,@sztext,255)>0 then  
    begin  
       
if LowerCase(pchar(@sztext))=LowerCase(exeName) then  
       begin  
         Result :
= true;   
         Exit;   
       end;   
    end;   
    hCurrentWindow:
=Getwindow(hCurrentwindow,GW_HWndNext);   
  end;   
end;   

用法:
如我们要判断'Live.exe'程序是否正在运行/是否已经启动
if exe_is_running(Live) then
  ....
else
  ....