当用户尝试打开新实例时,返回已打开的应用程序

时间:2008-09-18 16:40:05

标签: c# .net windows vb.net

这是一个我一直无法弄清楚的问题。防止第二个实例是微不足道的,并且有许多方法,但是,恢复已经运行的进程则不然。我想:

  • 最小化:撤消最小化并将正在运行的实例置于最前面。
  • 在其他窗口后面:将应用程序放在前面。

我使用的语言是VB.NET和C#。

4 个答案:

答案 0 :(得分:10)

我发现这段代码很有用。它执行现有应用程序的检测和可选激活:

http://www.codeproject.com/KB/cs/cssingprocess.aspx

答案 1 :(得分:7)

如果您正在使用.NET,那么使用内置.NET功能似乎更容易,更直接:

The Weekly Source Code 31- Single Instance WinForms and Microsoft.VisualBasic.dll

答案 2 :(得分:1)

这些链接可能有所帮助:

http://www.ai.uga.edu/mc/SingleInstance.html

它有代码来检测另一个正在运行的实例,但是一旦你获得了实例,就不知道你可以用它来做什么。

答案 3 :(得分:1)

在 Form_Load此代码有效。

# User is a superuser
> len(user.get_all_permissions())
516
> len(Permission.objects.all().distinct())
519