检查窗口是不是处于活动状态
Posted
技术标签:
【中文标题】检查窗口是不是处于活动状态【英文标题】:Checking if a window is active检查窗口是否处于活动状态 【发布时间】:2013-08-03 16:33:57 【问题描述】:我有一个使用GetAsyncKeyState();
的控制台应用程序,但如果用户正在查看另一个窗口并按下按钮,GetAsyncKeyState();
会选择它(我已经知道了)。
不用GetActiveWindow();
,我还能如何检查我的窗口是否在顶部?
编辑:GetConsoleWindow() == GetForegroundWindow()
工作。
【问题讨论】:
【参考方案1】:这件事对我有用:
HWND name;
name=GetForegroundWindow();
while(!_kbhit())
if(name==GetForegroundWindow())
printf("Mine window is active\n");
else
printf("Mine window is not active\n");
【讨论】:
【参考方案2】:要获得活动窗口,您可以致电GetActiveWindow
。 GetFocus
将返回具有输入焦点的窗口句柄。这个窗口也可以是一个控件。所以你可以检查你的窗口句柄,看看它是否有焦点。
【讨论】:
我不想要这个,因为我必须设置一堆 WinAPI 的东西才能得到我的处理。 (我在我的问题中写道我不想要GetActiveWindow();
)我只想要一个简单的bool IsActiveWindow(void);
函数。以上是关于检查窗口是不是处于活动状态的主要内容,如果未能解决你的问题,请参考以下文章
OpenGL 闪烁/损坏,窗口调整大小和 DWM 处于活动状态
当设备的(android)键盘处于活动状态时,jquery 移动弹出窗口小部件不会移动
当模式对话框处于活动状态时,检测主应用程序窗口上的 WM_CLOSE 事件?