我想写个服务端程序,程序运行的时候先判断进程中有没有这个进程在运行,如果有,先删除原来的进程,在运行,没有就直接运行就行了,怎么处理阿,我的程序叫a.exe

解决方案 »

  1.   

    var
      Mutex: THandle;
    begin
      Mutex := CreateMutex(nil, True, 'XY');
      if GetLastError <> ERROR_ALREADY_EXISTS then 
      begin
        Application.Initialize;
        Application.Title := qqqqq';
        try
          Application.CreateForm(TdmMain, dmMain);
          Application.CreateForm(TfrmPlayMain, frmPlayMain);
        finally
        end;
        Application.Run;
      end
      else
        Application.Terminate;
      ReleaseMutex(Mutex);
    end.加入工程中,替代
    begin
      Application.Initialize;
      Application.Title := qqq';
      Application.CreateForm(TdmMain, dmMain);
      Application.CreateForm(TfrmPlayMain, frmPlayMain);
      Application.Run;
    end. 
    也就是互斥对象方法
      

  2.   

    只想你的A.EXE运行一次话,不必从服务器来判断,而从A.EXE判断会更风边一点.