Mac OS X Leopard有一个名为Spaces的虚拟桌面实现.我想以编程方式检测用户当前所在的空间.
可可是最好的,但如果没有别的办法,AppleScript是可以接受的.
我已经看过几个AppleScript实现,但他们使用的技术在生产代码中使用似乎有点过于苛刻(一个依赖于导致错误,然后解析错误消息以获取当前空间,另一个则查询Spaces菜单GUI)
使用HIWindowGetCGWindowID获取WindowRef的CGWindowID.
将该ID与CGWindow.h中的CGWindowListCreateDescriptionFromArray一起使用,以获取有关窗口的信息.
查看返回的字典并提取(可选)kCGWindowWorkspace密钥.这是您窗口的空间ID.
如果有人还在乎,我已经根据这里的答案整理了一个命令行工具,你可以在这里获得http://github.com/shabble/osx-space-id