相关疑难解决方法(0)

确保只有一个应用程序实例

可能重复:
创建单实例应用程序的正确方法是什么?

我有一个Winforms应用程序,它通过以下代码启动启动画面:

Hide();
        bool done = false;
        // Below is a closure which will work with outer variables.
        ThreadPool.QueueUserWorkItem(x =>
                                  {
                                      using (var splashForm = new SplashScreen())
                                      {
                                          splashForm.Show();
                                          while (!done)
                                              Application.DoEvents();
                                          splashForm.Close();
                                      }
                                  });

        Thread.Sleep(3000);
        done = true;
Run Code Online (Sandbox Code Playgroud)

以上是主窗体的代码隐藏,并从加载事件处理程序调用.

但是,如何确保一次只加载一个应用程序实例?在主窗体的load事件处理程序中,我可以检查进程列表是否在系统上(通过GetProcessesByName(...)),但是有更好的方法吗?

使用.NET 3.5.

.net c# .net-3.5 winforms

23
推荐指数
2
解决办法
4万
查看次数

标签 统计

.net ×1

.net-3.5 ×1

c# ×1

winforms ×1