小编Sal*_*muk的帖子

将当前应用程序作为 Single Instance 运行并显示前一个实例

我刚刚实现了这段代码,该代码保护应用程序的单个实例,以免应用程序运行两次。

现在我想知道如何显示已经在运行的原始应用程序进程。

这是我在程序类中的代码:

static class Program
{
    [STAThread]
    static void Main()
    {
        const string appName = "MyappName";
        bool createdNew;
        mutex = new Mutex(true, appName, out createdNew);

        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Form form = new Form1();

        if (!createdNew)
        {
            form.Show();  <<=========================== NOT WORKING
            form.Visible = true; <<===================== None
            form.TopMost = true; <<===================== of
            form.BringToFront(); <<===================== these working!
            form.WindowState = FormWindowState.Maximized;
            return;
        }
        Application.Run(form);
    }        private static Mutex mutex = null;
}
Run Code Online (Sandbox Code Playgroud)

c# single-instance ui-automation winforms

4
推荐指数
1
解决办法
3149
查看次数

标签 统计

c# ×1

single-instance ×1

ui-automation ×1

winforms ×1