我想实现一个WINFORM程序,只在WINDOWS中启动一个,每次如果已启动了,还执行可执行文件了呢,就自动切换到已执行的窗口,多谢各位大虾知道了..............

解决方案 »

  1.   

    static void Main() 
    {   
    System.Diagnostics.Process[] pApp = System.Diagnostics.Process.GetProcessesByName("TestSingleApp");
    if (pApp.Length>1)
    {
    return;
    }
    Application.Run(new Form1());
    }
      

  2.   

    <STAThread()> Shared Sub Main(ByVal CmdArgs() As String)
            Dim createdNew As Boolean
            Dim m As New System.Threading.Mutex(True, "my", createdNew)
            If createdNew Then
                System.Windows.Forms.Application.Run(New frmMain)
                m.ReleaseMutex()
            Else
                MessageBox.Show("本程序只允许同时运行一个")
            End If
        End Sub