【问题标题】:Checking if a window is active检查窗口是否处于活动状态
【发布时间】:2013-08-03 16:33:57
【问题描述】:

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

不用GetActiveWindow();,我还能如何检查我的窗口是否在顶部?

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

【问题讨论】:

    标签: c++ windows console


    【解决方案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】:

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

      【讨论】:

      • 我不想要这个,因为我必须设置一堆 WinAPI 的东西才能得到我的处理。 (我在我的问题中写道我不想要GetActiveWindow();)我只想要一个简单的bool IsActiveWindow(void); 函数。
      猜你喜欢
      • 2017-12-22
      • 2016-08-14
      • 1970-01-01
      • 2020-05-20
      • 1970-01-01
      • 2020-01-11
      • 2019-12-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多