如何判断exe已经运行,如已运行如何将其当前运行窗体显示到最前面?
比如我程序的exe名称为aa.exe

解决方案 »

  1.   

    功过Process或者Mutex来实现
    举例
    if(Process.GetProcessesByName(myexe).Length==0)
    ...
    else
    ..
     
      

  2.   

    System.Diagnostics.Process.GetProcessesByName("aa.exe").Length>1 表示已经运行
      

  3.   

    前面的同志们已经回答了如何防止多次启动,如果你的应用程序名称比较复杂的话其实用process的方案也是挺合理的。至于窗口最前面。
    formMain.TopMost  = true;
    就可以了。
      

  4.   

    给出使用Mutex的方案,使用Mutex的方案可以应对修改了可执行文件名称的方案,用这套方案最保险。static   void   Main()     
      {   
      string   pID   =   "Main";   
        
      Mutex   m   =   new   Mutex(false,   pID);   
        
      if(m.WaitOne(0,   false)   ==   true)   
      {   
      Application.Run(new   Form1());   
      m.ReleaseMutex();   
      }   
      else   
      {   
      MessageBox.Show("程序已运行!");   
      }   
        
      m.Close();   
      }