2012-04-13 2 views
8

Ich habe ein Problem mit AppleScript und Systemereignissen.AppleScript - Systemereignisse Fehler: Zugriff für Hilfsgeräte ist deaktiviert

Ich habe in den Systemeinstellungen unter "Universal Access" die Option "Zugriff für Hilfsgeräte aktivieren" aktiviert.

Wenn ich versuche:

arch -i386 osascript -e 'tell application "System Events" to get the position of every window of every process'

ich diesen Fehler haben:

System Events got an error: Access for assistive devices is disabled. (-25211)

Haben Sie eine Idee?

Vielen Dank

Antwort

8

Das Problem ist nicht die Hilfsgeräte. AppleScript scheint diesen Fehlercode fälschlicherweise zurückzugeben, wenn er versucht, auf Fenster eines Prozesses zuzugreifen, der niemals Fenster haben kann (in meinem Fall war es "Google Chrome Helper").

Sie müssen die Fehler abfangen. Dies funktioniert für me:

tell application "System Events" 
    set procs to processes 
    set windowPositions to {} 
    repeat with proc in procs 
     try 
      if exists (window 1 of proc) then 
       repeat with w in windows of proc 
        copy w's position to the end of windowPositions 
       end repeat 
      end if 
     end try -- ignore errors 
    end repeat 
end tell 
return windowPositions 

eine Liste von Koordinatenpaaren zurückkehrt, wie {{1067, 22}, {31, 466}, {27, 56}, {63, 22}, {987, 22 }} - hast du das versucht?

+0

Vielen Dank, ich werde this.Last Frage versuchen, wie ich feststellen kann, ob das Fenster im Dock (versteckt) oder auf der Vorderseite ist? – Tokytok

9

Unter Mac OS X 10.9 erhalten Sie den gleichen Fehler, wenn der AppleScript Editor keine Eingabehilfen verwenden darf.

Hier ist, wie Sie es aktivieren:

Zum Systemeinstellungen>Sicherheit & Datenschutz>Datenschutz>Zugänglichkeit.

enter image description here

Dann überprüfen Sie die Checkbox Editor Apple links und der Fehler verschwunden sein sollte.

+7

Wenn Sie ein Skript von der Befehlszeile aus über 'osascript 'ausführen, möchten Sie den Accessibility-fähigen Apps auch das Terminal hinzufügen. – devios1

1

Ähnlich wie der Post auf dieser Seite über Mac OS X 10.9 (Mavericks), um dieses Problem unter Mac OS X 10.8 (und wahrscheinlich auch in früheren Versionen von OS X) zu beheben, müssen Sie sicherstellen, dass "Zugriff aktivieren" aktiviert ist für Hilfsgeräte "wurde in den Systemeinstellungen im Bereich Accessibility aktiviert.

enter image description here

Verwandte Themen