Как узнать, находится ли окно в фокусе? (Win32 API)
Помимо ответа gkrogers с win32 помощью GetActiveWindow, вы win32 также можете поддерживать windows-applications логическую переменную для windows-applications окна, которое хотите знать, есть winapi ли у него фокус, перехватывая window-api события WM_SETFOCUS
и WM_KILLFOCUS
или WM_ACTIVATE
:
WndProc() ..
case WM_SETFOCUS:
puts( "Got the focus" ) ;
break ;
case WM_KILLFOCUS:
puts( "Lost the focus" ) ;
break;
case WM_ACTIVATE:
if( LOWORD(wparam) == WA_INACTIVE )
puts( "I AM NOW INACTIVE." ) ;
else // WA_ACTIVE or WA_CLICKACTIVE
puts( "MEGAZORD ACTIVATED kew kew kew (flashy-eyes)" ) ;
break ;
windows
winapi
hwnd
2021-12-13T16:32:03+00:00
2022-10-08T07:37:10+00:00
PisecPro
Вопросы с похожей тематикой, как у вопроса:
Как узнать, находится ли окно в фокусе? (Win32 API)
Предупреждение о файлах Cookies
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.