10.9 Mavericksの「システムイベント」を使用せずにAppleScriptでメニュー項目を選択する


15

私は別の質問に答えているだけで、マーベリックスの新しい「機能」を思い出しました。

以前Automator Serviceは、入力をまったく受け取らなかった小さなキーがいくつかありましたが、キーストロークに結び付けられると便利なことをしていました。完璧な例は、ターミナルを前面に持ってくることです。これらのいくつかは、アプリケーションのメニュー項目を選択する必要がありましたBring All to Front

これで、サービスがSystem EventsAppleScriptライブラリを使用する場合にユニバーサルキーストロークが機能するように、すべてのアプリに「アクセシビリティ」を付与する必要があるようです。

誰でもこれの修正を知っていますか?


2
アクセシビリティはアプリごとに個別に承認される必要があるという事実はばかげています。彼らはAllow applications機能のような設定が必要です。
L'L'lの

1
まあ、彼らは、サービスをアクティブにするときに実行されているアプリではなく、コマンドを発行する「システムイベント」AppleScriptライブラリを承認する方法が必要です。しかし、それはばかげています。
トニーウィリアムズ14年

回答:


25

システムイベントを使用せずにメニュー項目をクリックする方法はわかりませんが、他の人がシステムイベントでメニュー項目をクリックする方法を探してここに来た場合:

tell application "System Events" to tell process "Finder"
    click menu item "New Finder Window" of menu 1 of menu bar item "File" of menu bar 1
end tell
tell application "System Events" to tell process "Finder"
    set frontmost to true
    click (menu item 1 where its name starts with "Compress") of menu 1 of menu bar item "File" of menu bar 1
end tell
tell application "System Events" to tell process "Finder"
    set frontmost to true
    tell menu bar item "File" of menu bar 1
        click
        click menu item "Open With" of menu 1
    end tell
end tell

現在インストールされているすべてのアプリケーションがシステム環境設定のリストにドラッグすることにより、アクセシビリティAPIを使用できるようにすることができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.