XAppProcess
アプリケーションプロセスを bundle identifier で指定して、キーイベントを送ることができます。
System Events の keystroke/key code コマンドは最前面のアプリケーションにしかキーイベントが遅れませんが、XAppProcess を使うと、任意のバックグラウンドプロセスに対してキーイベントを遅れます。
また、アプリケーションプロセスを
- 細かいオプションを指定して(ウインドウ一つだけとか) activate
- System Event を使わずに隠す
ことができます。
use XAppProcess : script "XAppProcess"
set app_id to "com.apple.TextEdit"
tell XAppProcess's make_with({id:app_id, allow_launching:true})
post_keyevent("N", {"command"})
activate_with({all_windows:false})
delay 1
log hide()
log identifier() -- "com.apple.TextEdit"
log pid()
delay 0.1
log is_active() -- true
log is_hidden() --false
end tell
return missing value
更新履歴
- 1.0 -- 2021-04-08
- 初公開