有没有办法在Snow Leopard中获取桌面图标的位置?我相信Leopard中的每个图标都是一个不同的窗口,但是SL改变了。
是否有要执行此操作的API或要解析的文件(如配置文件)?
答案 0 :(得分:4)
据我所知,桌面上的图标似乎是“AXImage”。如果您使用辅助功能检查器(在/ Applications / Utilities /辅助功能工具/中),则可以检查屏幕上为项目报告的辅助功能信息。
例如:
<AXApplication: "Finder">
<AXScrollArea: "desktop">
<AXGroup: "._sideEntrance.psd">
<AXImage: "Untitled.icns">
Attributes:
AXRole: "AXImage"
AXRoleDescription: "image"
AXParent: "<AXGroup: "._sideEntrance.psd">"
AXWindow: "<AXScrollArea: "desktop">"
AXTopLevelUIElement: "<AXScrollArea: "desktop">"
AXSize: "w=16 h=16"
AXPosition: "x=106 y=412"
AXEnabled: "true"
AXFocused (W): "false"
AXTitle: "Untitled.icns"
AXFilename: "Untitled.icns"
AXURL: "file://localhost/Users/mdouma46/Desktop/Untitled.icns"
AXSelected (W): "false"
AXEnabled: "true"
辅助功能API(无论如何都是较低级别的API)是HIServices的一部分:
/System/Library/Frameworks/ApplicationServices.framework /.../ HIServices.framework
(您链接并将ApplicationServices伞框架导入到您的项目中)。
我对那些API并不熟悉,所以我不能提供具体细节,但这将是一个开始的地方。
希望这会有所帮助......
答案 1 :(得分:1)
文件和文件夹图标的位置在.DS_Store文件中,这对于任何目录(Finder已查看过)都存在