Я использую Mutex, чтобы ограничить мое приложение только одним экземпляром. Это код:Как активировать уже открытое приложение, когда пользователь пытается запустить его во второй раз?
HANDLE hMutex;
hMutex = CreateMutex(NULL, FALSE, "MyTestApp");
if(hMutex == NULL)
ShowMessage(GetLastError());
else
if(GetLastError() == ERROR_ALREADY_EXISTS) {
ShowMessage("Application already running!");
// activate already running instance ?!
return -1;
}
Я бы хотел его расширить, чтобы активировать уже запущенный экземпляр. Как это сделать? Благодарю.
Что вы подразумеваете под "активированием"? Если он уже запущен, он уже не активен? – Galik
Возможно, вы получите HWND и 'SetForegroundWindow'? В этом случае вы можете использовать «EnumWindows». –
@Galik «активировать» Я имею в виду, что уже запущенный экземпляр отображается на экране, даже думал, что он может быть сведен к минимуму и т. Д. – Tracer