5

Mac OS X Leopard 有一个名为 Spaces 的虚拟桌面实现。我想以编程方式检测用户当前所在的空间

可可更可取,但如果没有其他方法, AppleScript 也是可以接受的。

我见过几个 AppleScript 实现,但他们使用的技术似乎有点太老套了,无法在生产代码中使用(一个依赖于导致错误然后解析错误消息以获取当前空间,另一个询问 Spaces 菜单图形用户界面)

4

2 回答 2

15

使用 HIWindowGetCGWindowID 获取 WindowRef 的 CGWindowID。

将该 ID 与 CGWindow.h 中的 CGWindowListCreateDescriptionFromArray 一起使用以获取有关窗口的信息。

查看返回的字典并提取(可选)kCGWindowWorkspace 键。那是您窗口的空间 ID。

于 2009-02-16T20:04:09.477 回答
9

如果有人仍然关心,我已经根据您可以在http://github.com/shabble/osx-space-id获得的答案整理了一个小命令行实用程序

于 2010-03-25T07:09:28.697 回答