Наше приложение имеет следующее требование: если приложение запущено, и я снова запускаю приложение, вместо этого необходимо активировать первый экземпляр, чтобы открыть новый экземпляр.
Чтобы реализовать это, в основной процедуреЯ проверяю, есть ли уже запущенный экземпляр.Если да, я использую следующую команду, чтобы вывести первый экземпляр:
Microsoft.VisualBasic.Interaction.AppActivate(appIdentifier);
До сих пор все работает как положено.Единственная проблема с этим решением состоит в том, что в случае, если первый экземпляр свернут, при повторном запуске приложения первый экземпляр будет активным, но не видимым (все еще свернутым)
И это мой вопрос.Как я могу вернуться к последнему WindowState, активировав экземпляр.Мое решение состояло в том, чтобы подписаться на событие Form.Activation и выполнить следующий код в методе обработчика событий:
if (MyForm.WindowState == FormWindowState.Minimized)
{
MyForm.WindowState = FormWindowState.Normal;
}
Но с этим решением у меня возникает проблема, заключающаяся в том, что если приложение находилось в развернутом состоянии до минимизацииприложение не возвращается к нему после активации.
Кто-нибудь знает, как я могу решить эту проблему?есть ли шанс получить последнее окно состояния?
Заранее спасибо за помощь!