检查窗口是否处于活动状态

时间:2013-08-03 16:33:57

标签: c++ windows console

我有一个使用GetAsyncKeyState();的控制台应用程序,但是如果用户正在查看另一个窗口并按下一个按钮,GetAsyncKeyState();将其拾起(我已经知道了)。

无需GetActiveWindow();,我怎样才能检查我的窗口是否在顶部?

编辑:GetConsoleWindow() == GetForegroundWindow()工作。

2 个答案:

答案 0 :(得分:1)

要获取活动窗口,您可以调用GetActiveWindowGetFocus将返回具有输入焦点的窗口的句柄。该窗口也可以是控件。因此,您可以检查窗口句柄,看看它是否具有焦点。

答案 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");
}