2010-05-16 4 views

Répondre

1

La solution pour un dossier est use a catalog iterator pour obtenir les informations du Finder pour chaque élément du dossier. L'information du Finder est une structure FileInfo ou FolderInfo qui contient un QuickDraw Point (coordonnées intégrales, origine en haut à gauche, y positif) spécifiant où l'icône apparaîtra. Je ne sais pas comment vous feriez cela pour le bureau, cependant.

Il existe un dossier Bureau dans le dossier Accueil, mais en examinant son contenu, vous obtiendrez probablement les positions que le Finder utilisera pour afficher ce dossier dans une fenêtre. Il ne comprend probablement pas non plus les éléments "sur le bureau" qui ne se trouvent pas dans le dossier Bureau, tels que les volumes montés.

0

script Apple suivant va obtenir ces positions (utiliser soit le pont de script ou NSAppleScript)

tell application "Finder" 
    tell every item of desktop 
     get position 
     get name 
    end tell 
end tell 
+0

Ne fonctionne pas pour moi. Je reçois -1, -1 pour chaque icône. –

+0

désolé, il y avait un chemin codé en dur pointant vers mon bureau. l'a corrigé en pointant sur "de bureau" –

+0

Cela a-t-il fonctionné? Ensuite, vous pouvez marquer la question comme ayant été répondue. –

3

Essayez ce code AppleScript

tell application "Finder" 
    get desktop position of every item of desktop 
end tell 
0

Une autre solution (très similaire à celui des @Vaskravchuk)

tell application "Finder" 
    repeat with anItem in desktop 
     get {desktop position, name} of anItem 
    end repeat 
end tell 
Questions connexes