Не могу взаимодействовать с окном (HWND) cpp - PullRequest
0 голосов
/ 12 октября 2018

Я хочу иметь возможность свернуть / развернуть окно процесса, который я создаю с помощью ShellExecuteEx().

Сначала я нахожу идентификатор процесса и его HWND (я убедился, что это был хороший HWND с Spy ++).

Далее я пытаюсь свернуть с помощью ShowWindow(hwnd) или ShowWindow(GetForegroundWindow(), SW_MINIMIZE).

Но это не работает.Я убедился, что процесс был повышен (права администратора).Кажется, это работает с любыми другими окнами, такими как Notepad, RocketLeague или что-то еще.Но это одно окно не реагирует.Когда я звоню SetForegroundWindow(hwnd), я вижу, что он мигает на панели задач, поэтому я уверен, что это правильное значение HWND для моего приложения.

Есть идеи, в чем может быть проблема?

Ответы [ 2 ]

0 голосов
/ 12 октября 2018

SendMessage (GetForegroundWindow (), WM_SYSCOMMAND, SC_MINIMIZE, 0);

0 голосов
/ 12 октября 2018

Используйте SPY ++, чтобы найти className и windowName, тогда вы можете:

HWND hWnd = ::FindWindow(className, windowName);
::ShowWindow(hWnd, SW_MINIMIZE);
...