2013-08-03 18 views
1

我有一个使用GetAsyncKeyState();一个控制台应用程序,但如果用户是在寻找另一个窗口,按下一个按钮,GetAsyncKeyState();把它捡起来(我已经知道了)。检查,如果一个窗口是活动

无需做GetActiveWindow();,怎么回事可以检查我的窗口是在顶部的一个?

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

回答

1

获取活动窗口中,您可以拨打GetActiveWindowGetFocus将返回具有输入焦点的窗口的句柄。这个窗口也可以是一个控件。所以你可以检查你的窗口句柄,看看它是否有重点。

+0

我不希望这样,因为我已经设置了一堆东西WinAPI的让我的把手。 (我在我的问题写了,我不想'GetActiveWindow();')我只想要一个简单的'布尔IsActiveWindow(无效);'函数。 –

1

这件事情为我工作:

HWND name; 
name=GetForegroundWindow(); 

while(!_kbhit()){ 
    if(name==GetForegroundWindow()) 
     printf("Mine window is active\n"); 
    else 
     printf("Mine window is not active\n"); 
}