Создайте приложение с одним экземпляром и покажите MainWindow, когда другой экземпляр запускается в VB.NET с помощью WPF.

Я ищу способ заставить мое приложение работать в режиме одного экземпляра и показывать MainWindow первого экземпляра при запуске другого экземпляра. Я делаю быстрый поиск в Интернете, но я не нашел ничего, чтобы открыть MainWindow первого экземпляра, или это было для Windows Form, а не для WPF.

Я работаю в VB.Net с Framework 4 и WPF.

Спасибо


person Bahaïka    schedule 30.08.2011    source источник
comment
возможный дубликат VB.NET: единственный экземпляр WPF   -  person BoltClock    schedule 30.08.2011
comment
@BoltClock: не выйти, поскольку основной вопрос, по-видимому, заключается в активации окна в работающем приложении.   -  person H.B.    schedule 30.08.2011


Ответы (1)


Недавно я написал статью для Winforms по адресу http://www.thinqlinq.com/Post.aspx/Title/Single-Instance-Winform-Issue. С помощью winforms вы можете использовать обработчик событий MyApplication_StartupNextInstance для перехвата последующих запросов на запуск и перенаправления их (возврат к MainWindow?). К сожалению, я не вижу, чтобы StartupNextInstance все еще был доступен с WPF. Возможно, образец до версии 2.0, который я разместил по адресу http://web.archive.org/web/20060528010613/http://www.avbsg.net/Uploads/SingleInstanceVB.zip может дать вам представление о том, как это сделать с помощью WPF. В моем блоге описаны общие шаги, которые я использовал.

person Jim Wooley    schedule 30.08.2011
comment
Я уже делал это в Windows Forms с обработчиком StartupNextInstance, но для WPF нет portage. - person Bahaïka; 31.08.2011