Проверка, активно ли окно

У меня есть консольное приложение, которое использует 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");
}
Другие вопросы по тегам