如何确保只有一个应用程序实例正在运行?

时间:2015-02-06 10:06:39

标签: c# .net winforms process

我想确保一次只运行一个WinForm应用程序实例。 我使用单独的实用程序来运行我的应用程序。

在该实用程序中,如果已经有我的应用程序的运行实例,我想确保我的应用程序的EXE不会被我的实用程序调用。要检查是否有已经运行的实例,我使用Process.GetProcessesByName(在我的实用程序中),这是很多人提出的。它适用于正常情况。

但是,我们发现如果用户在实用程序(启动应用程序)上双击(太快),他最终会获得多个实例(实例数不等于双击次数)。 我们如何处理此案?

我认为,检查已经运行的进程的代码是在第一个实例启动时执行的。正在运行,它的流程详情可通过Process.GetProcessesByName获得。

注意:是否允许多个实例取决于我的实用程序中的配置。

0 个答案:

没有答案