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