有多种桌面可以在Mac OS X中获取活动桌面的ID。我没有为此找到方法或API。
答案 0 :(得分:0)
使用HIWindowGetCGWindowID
获取CGWindowID
的{{1}}。
将该ID与WindowRef
CGWindowListCreateDescriptionFromArray
一起使用,以获取有关您窗口的信息。
查看返回的字典并提取(可选)CGWindow.h
密钥。
这是您的窗口的空间ID。
来源:How to detect which Space the user is on in Mac OS X Leopard?
答案 1 :(得分:0)
如果你看一下~/Library/Preferences/com.apple.spaces.plist
,它似乎包含一个空格列表,它们的窗口由窗口编号组织。每个空间都有一个名称(最初的两个似乎是仪表板和空字符串,我假设它是第一个默认桌面)。如果您可以获得对窗口编号的引用,则可以尝试在此plist结构中找到它以确定它当前所在的空间。这可能对您有用,也可能没有用,具体取决于您尝试对此信息执行的操作。