jsh*_*erk 1 macos cocoa objective-c osx-snow-leopard osx-lion
我是使用Xcode 4.2.1为Mac OS X Lion(10.7.3)编程的新手
我想获得所有可见窗口的列表,然后隐藏或最小化它们.
到目前为止,我有这个代码:
NSArray *appList = [[NSWorkspace sharedWorkspace] runningApplications];
for (id app in appList) {
for (id theWindow in app) { //How do I get list of windows from the app??
if ([theWindow isVisible]) {
[theWindow orderOut:sender];
}
}
}
Run Code Online (Sandbox Code Playgroud)
我知道这不起作用,但有点难以获得每个应用程序的窗口列表.
谢谢
编辑:我发现了一个名为ShowDesktop的应用程序(请参阅下面接受的答案),它可以实现我想要的功能,它可以模拟Windows PC上的"显示桌面"功能.
编辑:2015年3月:找到一个更好的解决方案:更好的触摸工具(它是免费的)有一个"隐藏所有Windows"的快捷方式,像Windows一样,它实际上最小化和隐藏所有打开的窗口(不像OSX默认只是移动它们屏幕).您可以将其分配给任何键盘组合或鼠标移动...我已将其分配给"OPTION_KEY + Move_Mouse_Into_Lower_Left_Corner".
CFArrayRef listOfWindows = CGWindowListCopyWindowInfo(kCGWindowListExcludeDesktopElements | kCGWindowListOptionOnScreenOnly,kCGNullWindowID );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3311 次 |
| 最近记录: |