Я создаю простую программу windows cmd и пытаюсь убедиться, что она запускается только один раз (если дважды щелкнуть exe-файл, отобразится только один экземпляр).
так что в моем коде .. я добавил именованный мьютекс (имя - GUID) .. если запустить второй экземпляр программы, он покажет сообщение о том, что у вас уже запущен экземпляр ..
я хочу обновить код. поэтому вместо того, чтобы показывать вам сообщение, оно автоматически найдет уже запущенный процесс (окно), переключит на него фокус, а затем закроет себя.
сейчас я пытаюсь использовать
FindWindow(NULL,window_name);
SetForegroundWindow(window);
однако, когда я передаю имя окна (из диспетчера задач), оно не находит его !!!
Ошибка говорит: не используется: S
что странно,
я даже попытался использовать имя диспетчера задач вместо этого ... и он все еще не мог найти его!
так может ли кто-нибудь мне указать, где я ошибся? :)
также, если вы можете придумать какие-либо другие способы выполнения такой задачи, пожалуйста, скажите мне ...
примечание: какой-то друг на работе сказал мне использовать enumwindows, это хороший выбор (я сейчас читаю об этом) ...
спасибо!