Возврат к уже открытому приложению, когда пользователь пытается открыть новый экземпляр - PullRequest
19 голосов
/ 18 сентября 2008

Это была проблема, которую я некоторое время не мог понять. Предотвращение второго экземпляра является тривиальным и имеет много методов, однако возвращение уже запущенного процесса - нет. Я хотел бы:

  • Свернутый: отменить сворачивание и перенести запущенный экземпляр на передний план.
  • За другими окнами: перенесите приложение на передний план.

Я использую этот язык на VB.NET и C #.

Ответы [ 3 ]

10 голосов
/ 18 сентября 2008

Я нашел этот код полезным. Это делает обнаружение и необязательную активацию существующего приложения:

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

7 голосов
/ 18 сентября 2008

Если вы используете .NET, это кажется более простым и понятным при использовании встроенной функциональности .NET:

Еженедельный исходный код 31 - WinForms и Microsoft.VisualBasic.dll для одного экземпляра

1 голос
/ 18 сентября 2008

Эти ссылки могут быть полезны:

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

В нем есть код для обнаружения работающего другого экземпляра, но вы не знаете, что вы можете с ним сделать, когда получите экземпляр.

...