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;
用法:如我们要判断'ScktSrvr.exe'程序是否正在运行/是否已经启动if exe_is_running('ScktSrvr') then ....else