Проверка, активно ли окно
У меня есть консольное приложение, которое использует GetAsyncKeyState();
, но если пользователь смотрит на другое окно и нажал кнопку, GetAsyncKeyState();
поднял его (я это уже знал).
Без необходимости делать GetActiveWindow();
Как еще я могу проверить, если мое окно сверху?
РЕДАКТИРОВАТЬ: GetConsoleWindow() == GetForegroundWindow()
работал.
2 ответа
Решение
Чтобы получить активное окно вы можете позвонить GetActiveWindow
, GetFocus
вернет дескриптор окна с фокусом ввода. Это окно также может быть элементом управления. Таким образом, вы можете проверить свою ручку окна и посмотреть, имеет ли она фокус.
Эта вещь работала для меня:
HWND name;
name=GetForegroundWindow();
while(!_kbhit()){
if(name==GetForegroundWindow())
printf("Mine window is active\n");
else
printf("Mine window is not active\n");
}