获取桌面图标的位置?

时间:2010-11-23 02:47:47

标签: cocoa macos osx-snow-leopard finder

有没有办法在Snow Leopard中获取桌面图标的位置?我相信Leopard中的每个图标都是一个不同的窗口,但是SL改变了。

是否有要执行此操作的API或要解析的文件(如配置文件)?

2 个答案:

答案 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已查看过)都存在