如何判断程序是否运行?很急,用DELPHI判断程序是否运行?没运行则启动它

解决方案 »

  1.   

    如何让程序只运行一次?? 
    http://community.csdn.net/Expert/topic/3633/3633504.xml?temp=.1247827
      

  2.   

    var h:HWND;       
                     Application.Title := 'lch';
                     h:=::FindWindow(0,oldname);//oldename是Application->Title
                     if (h<>nil)then
                     begin
                         ShowMessage("it has run!");
                         Application.Terminate();
                         return 0;
                     end;
      

  3.   

    var
      mHandle, fHandle: THandle;
    begin
      Application.Initialize;
      mHandle := Windows.CreateMutex(nil, true, 'SendMessage');//SendMessage
      if mHandle <> 0 then
      begin
        if GetLastError = ERROR_ALREADY_EXISTS then
        begin
          fHandle := FindWindow(PChar( 'Tfrom1'), nil);
          if (fHandle>0) then
          begin
            ShowMessage("it has run!");
            SetForeGroundWindow(fHandle);
            Windows.ReleaseMutex(mHandle);
          end;
          Halt;
        end;
      end;