【问题标题】:How to know the name/ID of window in focus如何知道焦点窗口的名称/ID
【发布时间】:2014-03-04 13:12:30
【问题描述】:

如何在 OpenCV 中专门了解焦点窗口的名称/ID。 如果 OpenCV 无法实现,是否有任何事件处理/回调或 windows api 可以实现这一点。 我正在使用 Windows 7 和 8.1。 我想做一些类似(但不限于)的事情:

如果窗口处于焦点状态,并且发生鼠标或按键等事件, 然后更新那个特定的窗口

.

【问题讨论】:

    标签: c++ windows opencv


    【解决方案1】:

    正如 Kris 所建议的,window.xml 存在解决方案。使用 windows api 来处理活动窗口:

    HWND WINAPI GetActiveWindow(void);
    

    现在使用GetWindowText() 函数提取标题,如果有的话。它可能不是便携式的。其他操作系统应该有类似的api。

    【讨论】:

      【解决方案2】:

      首先,我不知道 windows 或任何其他 api 是否可以提供帮助。 我有一个想法,以某种方式截屏,然后使用 opencv 本身进行图像处理。假设焦点窗口将位于顶部且最集中,因此我们可以轻松看到名称。如果有的话,我们可以处理颜色以将焦点窗口与其他窗口分开。并使用 OCR 提取窗口名称。

      【讨论】:

      • 这永远不会健壮。为什么不直接使用原生 API 来获取活动窗口呢?
      猜你喜欢
      • 1970-01-01
      • 2010-11-04
      • 2021-07-17
      • 1970-01-01
      • 2011-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多