【问题标题】:Manipulating a Window in a Mac Application在 Mac 应用程序中操作窗口
【发布时间】:2012-01-16 17:32:03
【问题描述】:

我有以下代码sn-p:

 NSNumber* windowNumber = [entry objectForKey:(id)kCGWindowNumber];

 applicationName = [entry objectForKey:(id)kCGWindowOwnerName];

通过这个,我从所有正在运行的应用程序的窗口服务器中获取窗口编号和名称。

我最终要做的是创建对任何 Window 的引用并操作其属性,例如,如果我有某个 Safari 实例的窗口编号,我想将其设置回来或最大化或隐藏它.有可能这样做吗?关于如何开始的一些想法?

顺便说一句,我在一个名为“抢夺之子”的 Apple 代码示例中找到了这种检索“窗口编号”和“应用程序名称”的方法:http://developer.apple.com/library/mac/#samplecode/SonOfGrab/Introduction/Intro.html 如果有人好奇。

【问题讨论】:

    标签: macos cocoa quartz-graphics nswindow macos-carbon


    【解决方案1】:

    最后,我基于苹果示例 Son of grab 并使用 QUARTZ EVENT TAPS 完成了这项工作。这是过滤事件和操作其他应用程序的正确方法,因为它用作 508 部分启用技术。

    【讨论】:

    • 你能实现什么?您是否能够隐藏/修改由其 id 引用的窗口?
    • 是的,我使用了 Quartz Events 技术。现在我可以从我的应用程序内部打开和关闭外国人窗口。我遵循了我在问题中提到的苹果发布的示例的方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-15
    • 2015-11-05
    • 2020-08-09
    • 2016-06-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多