在Mac应用程序中操作窗口

时间:2012-01-16 17:32:03

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

我有以下代码段:

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

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

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

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

BTW我发现这种方法可以在Apple Code示例中检索“窗口编号”和“应用程序名称”,称为抓取之子:http://developer.apple.com/library/mac/#samplecode/SonOfGrab/Introduction/Intro.html 如果有人好奇的话。

1 个答案:

答案 0 :(得分:1)

最后,我基于苹果样本抓取之子和使用QUARTZ EVENT TAPS完成了这项工作。这是过滤事件和操纵其他应用程序的正确方法,因为它用作支持技术的第508节。