У меня это работает. Он потребовал несколько штук:
- Получите имя запущенного приложения. Вы можете сделать это либо
processes
System Events
, либо do shell script "ps …"
, какой бы вы думаете, будет более надежным в вашей ситуации.
- Затем используя термины из одного из приложений на вашего Mac, вы можете
- * сказатьприложения APPNAME ..., при условии, что у вас есть
- сохранил скрипт как Application , поэтому он уже скомпилирован.
Вот несколько кодов. Сценарий, над которым я работаю, еще не прибегал к системным событиям, поэтому, чтобы избавить новых пользователей от боли в поездке в Системные настройки, я решил использовать/bin/ps вместо ...
set appName to runningAppWithBaseName("Foo")
using terms from application "Foo Deluxe" -- an app on your Mac
tell application appName
(* whatever code you want here *)
end tell
end using terms from
on runningAppWithBaseName(baseName)
set command to "/bin/ps -eo args | grep " & baseName & " | grep -v grep"
(* The "grep -v grep" is to exclude the grep process itself from the results. *)
try
set fullPathOfRunningApp to do shell script command
end try
(* Here, given the fullPathOfRunningApp and your list of candidate app names, *)
(* insert code to determine the name of the running app. *)
return nameOfRunningApp
end runningAppWithBaseName