3

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

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

4

2 回答 2

4

据我所知,桌面上的图标似乎是“AXImage”。如果您退出辅助功能检查器(在 /Applications/Utilities/Accessibility Tools/ 中),您可以检查为屏幕上的项目报告的辅助功能信息。

例如:

<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 不太熟悉,因此无法提供具体信息,但这是一个开始的地方。

希望这可以帮助...

于 2010-11-23T04:17:44.700 回答
1

文件和文件夹图标的位置在 .DS_Store 文件中,这存在于任何目录(Finder 已查看)

于 2010-11-23T03:42:03.313 回答