El proceso, RSScriptRunner
, representa, actualmente, una de ejecutar el script que fue provocado por FastScripts.app. (FastScripts no asignar un único proceso títulos de secuencias de comandos que se activa.)
Si uno tiene varios procesos titulado RSScriptRunner
ejecutan simultáneamente, entonces el siguiente código:
tell application "System Events" to windows of process "RSScriptRunner"
sólo se devolverá el nombre de la ventana del proceso que se inició la primera.
Sin embargo, me gustaría conseguir que cada nombre de la ventana de cada RSScriptRunner
proceso.
¿Alguien sabe cómo llevar a cabo esto en AppleScript?
Mi última intención es implementar un cheque que se garantiza que sólo un ejemplo de una secuencia de comandos se pueden ejecutar simultáneamente. Varios scripts que se ejecutan está bien, pero los múltiplos de un script que se ejecuta al mismo tiempo que es indeseable.
El código sería algo como esto:
tell application "System Events"
set theWindowList to windows of process "RSScriptRunner"
if theWindowList contains "The title of the initial dialog of this script goes here." then
error number -128
end if
end tell
Esta verificación se encuentra en la parte superior de la secuencia de comandos.
Nota:
Esta es una situación donde una latencia mínima es crucial.
Yo había ideado un largo aliento método que se realiza con éxito mi resultado deseado. El método implicaba llegar a cada proceso actual título en una lista, y llegar a todas las ID de proceso a otro, de la lista correspondiente. Yo, a continuación, recupera el nombre de la ventana de cada RSScriptRunner
proceso a través de su respectivo IDENTIFICADOR de proceso (que, a diferencia de en el nombre del proceso, debe ser único).
Sin embargo, este método trajo con él un par de segundos de latencia. Necesito una solución que es casi instantánea (por ejemplo, la línea de código anterior).