2010-11-23 18 views
3

Snow Leopardのデスクトップアイコンの場所を取得する方法はありますか?私は各アイコンがLeopardの別のウィンドウであったと信じていますが、これはSLで変わりました。デスクトップアイコンの場所を取得していますか?

これを行うAPI、または解析するファイル(設定ファイルなど)はありますか?ファイルとフォルダのアイコンの

+0

結果の正確さはどのようになっていますか? (.DS_Storeファイルは他のメソッドほど正確ではありません)。 Leopardでどのようなメソッドを使用しましたか(アクセシビリティAPIはもはや機能しませんか?) – NSGod

+0

私は個人的に使っていませんでしたが、これに基づいて(http://www.everita.com/how-the-newton-virus-was-made)、アイコンとメニューバーは「特別な種類のウィンドウ」でしたプライベートAPIを介してアクセス可能でした。可能であれば100%の正確な座標が好きです... –

答えて

4

として(Finderが視聴したことを)任意のディレクトリのために存在します私が知る限り、デスクトップ上のアイコンは「AXImage」のように見えます。アクセシビリティインスペクタ(/アプリケーション/ユーティリティ/アクセシビリティツール/内)を抜けた場合は、アイテムに関する報告されたアクセシビリティ情報を画面上で調べることができます。例えば

:(とにかく低レベルのもの)

<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は、HIServicesの一部である:

/System/Library/Frameworks/ApplicationServices.framework/.../ HIServices.framework

(ただし、ApplicationServicesアンブレラフレームワークとリンクしてプロジェクトにインポートします)。

私はこれらのAPIに精通していないので、具体的な情報を提供することはできませんが、それは始める場所になります。

希望します。

関連する問題