我有一个使用GetAsyncKeyState();
的控制台应用程序,但是如果用户正在查看另一个窗口并按下一个按钮,GetAsyncKeyState();
将其拾起(我已经知道了)。
无需GetActiveWindow();
,我怎样才能检查我的窗口是否在顶部?
编辑:GetConsoleWindow() == GetForegroundWindow()
工作。
答案 0 :(得分:1)
要获取活动窗口,您可以调用GetActiveWindow
。 GetFocus
将返回具有输入焦点的窗口的句柄。该窗口也可以是控件。因此,您可以检查窗口句柄,看看它是否具有焦点。
答案 1 :(得分:1)
这件事对我有用:
HWND name;
name=GetForegroundWindow();
while(!_kbhit()){
if(name==GetForegroundWindow())
printf("Mine window is active\n");
else
printf("Mine window is not active\n");
}