【发布时间】:2018-11-07 22:35:43
【问题描述】:
我试图限制我的应用程序在机器级别具有多个实例,即一台计算机将有多个用户登录,并且出于性能原因,该应用程序只需要一个实例。因此,如果用户 A 启动应用程序,用户 B 应该只收到一条消息,表明该应用程序已经在用户 A 的帐户上运行。现在,在您开始对我进行有关流程的培训之前,我已经尝试过了,但它不起作用,因为我的应用程序要检查类似的流程是否正在运行,它需要启动流程(应用程序),在这种情况下,应用程序永远不会开始。
我正在使用它来限制多个实例,它效果很好,但它只适用于用户级别。
Microsoft.VisualBasic.ApplicationServices
public class SingleInstanceApplication : WindowsFormsApplicationBase { private SingleInstanceApplication() { base.IsSingleInstance = true; } public static void Run(Form f, StartupNextInstanceEventHandler startupHandler) { SingleInstanceApplication app = new SingleInstanceApplication(); app.MainForm = f; app.StartupNextInstance += startupHandler; app.Run(Environment.GetCommandLineArgs()); } }
任何帮助或建议将不胜感激......
【问题讨论】:
-
听起来你需要global mutex
-
很抱歉这么忙的回复太晚了,谢谢@mjwills 我会看看这两个链接并报告!
标签: c# winforms instance startup