【问题标题】:Which app has keyboard focus?哪个应用程序有键盘焦点?
【发布时间】:2010-07-28 16:00:28
【问题描述】:

在 Cocoa/Objective C 中,我需要能够以编程方式找出哪个应用程序或进程具有键盘焦点。这可以通过进行“命中测试”来完成,但我不确定。

我还需要获取具有键盘焦点的应用程序的进程 ID 号和窗口标题。

Objective C or C only please!

感谢片段!

【问题讨论】:

  • 从这个问题中并不清楚它是否与这个相同。最前面的应用程序可以不同于具有键盘焦点的进程,这与单个应用程序在其“主窗口”和“键窗口”之间的区别相同。

标签: objective-c cocoa macos process


【解决方案1】:

您可以使用[NSWorkspace sharedWorkspace] activeApplication 查找前端应用程序。 Accessibilty API 可用于查看应用程序内部以获取窗口标题等。

另一种选择是使用Quartz Window Services 函数CGWindowListCopyWindowInfo() 来获取所有窗口的列表

【讨论】:

    猜你喜欢
    • 2018-09-08
    • 2020-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多