如: Pop.exe ,怎么判断它是否已经运行?

解决方案 »

  1.   

    if (System.Diagnostics.Process.GetProcessesByName("RTX.exe").Length > 1)这个好像不行
      

  2.   

    用process组件可以列出系统所有的进程,循环判断是否有名为Pop.exe的进程,有就运行了。
      

  3.   

    在进程列表中看看进程名是不是RTX.exe
      

  4.   

    if (System.Diagnostics.Process.GetProcessesByName("RTX.exe").Length > 1)
    =============
    System.Diagnostics.Process[] myProcesses
    =System.Diagnostics.Process.GetProcessesByName("RTX.exe");if (myProcesses.Length == 0){
        MessageBox.Show("No process found!");
        return;
    }
      

  5.   

    有可能在一个进程正在启动的过程中另一个也正在启,这样两个进程查看系统中的进程的时候谁都没有查到,导致了一个结果,这两个进程会都打开!一般来说两个进程同时打开的时间很短,近似的可以使用GetProcessesByName来查看,但这不是最精确的.
      

  6.   

    System.Diagnostics.Process[] myProcesses = System.Diagnostics.Process.GetProcessesByName("RTX.exe");myProcesses 这个对象都是空的. 我的进程句就是“RTX.exe"
      

  7.   

    string path = 程序路径            Process[] curProcess = Process.GetProcesses();
                foreach (Process pro in curProcess)
                {
                    try
                    {
                        if (pro.MainModule.FileName == path) 
                            运行中
                    }
                    catch
                    {
                        continue;
                    }
                }
      

  8.   

    [STAThread]
            static void Main()
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);            bool isRun = true;
                Process cp = Process.GetCurrentProcess();
                Process[] p = Process.GetProcesses();
                for (int i = 0; i < p.Length; i++)
                {
                    if (p[i].ProcessName == cp.ProcessName)
                    {
                        isRun = !isRun;
                    }
                }            if (isRun)
                {
                    MessageBox.Show("已运行!");
                    Application.Exit();
                }
                else
                {
                    Application.Run(new MainForm());
                }
            }
      

  9.   

    jydqwe(闲庭漫步)  谢谢了 呵呵。
      

  10.   

    你在进程管理器中看到的是RTX.exe,那么程序中就是"RTX",不要exe,我给你的代码我测试过,没问题的。
      

  11.   

    if ( ( System.Diagnostics.Process.GetProcessesByName( System.Diagnostics.Process.GetCurrentProcess().ProcessName ).Length - 1 > 0 ) == true )
    {
        //已经运行了。
    }
      

  12.   

    可以用这个
    System.Threading.Mutex