我在程序了直接到用了一个Test.exe的可执行文件,调用语句如下:
System.Diagnostics.Process.Start(@"D:\Test.exe");可这种形式,如何防止二重启动呢?请赐教,等待中...。

解决方案 »

  1.   

      System.Diagnostics.Process _Process = System.Diagnostics.Process.GetProcessesByName("Test");            if(_Process!=null)System.Diagnostics.Process.Start(@"D:\Test.exe"); 
      

  2.   

    类似于如下的代码:foreach (Process p in Process.GetProcessesByName(@"D:\Test.exe"))
    {
    if (p.ProcessName == "Test.exe")
    {
    return;
    }
    }
    Process.Start(@"D:\Test.exe"); 
      

  3.   

    改下:
    Process[] ps = Process.GetProcessesByName(@"Test.exe");
    {
    if (ps.Length > 0)
    {
    return;
    }
    }
    Process.Start(@"D:\Test.exe"); 
      

  4.   

    只能修改Test.exe里面才可以。
      

  5.   

    最近老是粗心,代码再改一下。上面的都没有测试:
    Process[] ps = Process.GetProcessesByName(Process.GetCurrentProcess().ProcessName);
    {
    if (ps.Length > 1)
    {
    return;
    }
    }
    Process.Start(@"D:\Test.exe");