这是我一直未能弄清楚的问题。防止第二个实例是微不足道的,并且有很多方法,但是,将已经运行的进程取回却不是。我想:当用户尝试打开新实例时返回到已打开的应用程序
- 最小化:撤销最小化并将运行实例置于前端。
- 其他窗口背后:将应用程序放在前面。
我使用的语言是VB.NET和C#。
这是我一直未能弄清楚的问题。防止第二个实例是微不足道的,并且有很多方法,但是,将已经运行的进程取回却不是。我想:当用户尝试打开新实例时返回到已打开的应用程序
我使用的语言是VB.NET和C#。
我发现此代码是有用的。它的检测和现有应用程序的可选激活:
如果您使用.NET,这似乎更加简单和直接使用内置的.NET功能:
The Weekly Source Code 31- Single Instance WinForms and Microsoft.VisualBasic.dll
+1 - 使用Microsoft.VisualBasic程序集而不是所接受的答案中的所有Win32 API gunk的更简洁的方法。还允许您将命令行参数传回给正在运行的实例 - 这是一个不错的奖励。 – 2009-12-07 22:13:13
你介意添加一个或两个标签,以便我们知道上下文是什么?我假设你使用的是Microsoft Windows,但我不知道你使用的是什么语言。 – 2008-09-18 16:53:57