El fragmento de código que tomaste prestado no se relaciona con lo que estás tratando de lograr, así que puedes desecharlo con seguridad.
Intenta evitar buscar soluciones que impliquen simular clics o pulsaciones de teclas, ya que este tipo de scripts son realmente específicos para cada caso, susceptibles de romperse con facilidad y frecuencia, y prohíben cualquier interacción adicional entre el usuario y el ordenador mientras se está ejecutando.
A .dmg
(o imagen de disco ) es un elemento del sistema de archivos, lo que significa que puede ser manipulado mediante AppleScript. Ni siquiera es necesario tener el .dmg
ventana abierta. Parece que ya sabe el nombre del archivo que desea que se abra.
Digamos que cuando usted hace doble clic en su .dmg
archivo a monte (abrirlo), el nombre del disco que aparece en el escritorio (o en la barra lateral de una ventana del Finder) es "my dmg"
(puede ser diferente del nombre del .dmg
pero puede ser el mismo). Digamos entonces que hay un archivo llamado "some file.txt"
contenida en la imagen de disco que desea abrir. La ruta de acceso a este archivo se encuentra en: /Volumes/my dmg/some file.txt
Por lo tanto, todo su AppleScript que abrirá el archivo (como si el usuario hubiera hecho doble clic en él) será:
tell application id "com.apple.finder" to open the ¬
POSIX file "/Volumes/my dmg/some file.txt"
o alternativamente:
tell application id "com.apple.finder" to open ¬
file "some file.txt" of disk "my dmg"
Estos dos scripts son esencialmente idénticos.
Sin embargo...
Una limitación tanto del método que he descrito anteriormente, como de tu idea original de simular clics, es que no podrás dictar que el archivo que se abra aparezca en un escritorio/pantalla diferente que no sea el que está activo en ese momento.
Hacer clic en el archivo significa necesariamente que el escritorio/pantalla activo cambia a aquel en el que está abierta la ventana que contiene el archivo. Se puede realizar un cambio similar al de AppleScript, de forma que el escritorio/pantalla en el que se encuentra el .dmg
que está abierto se convierte en el activo:
tell application id "com.apple.finder"
open disk "my dmg"
end tell
Esto se incorporaría al código anterior para producir un script combinado que tiene el siguiente aspecto:
tell application id "com.apple.finder"
tell disk "my dmg"
open it
tell its container window
open file "some file.txt"
end tell
end tell
end tell
0 votos
Hola Maximord, he movido el contenido de tu respuesta (que ha sido borrada ya que no es realmente una respuesta sino un feedback a CJK) a tu pregunta. No dudes en editarla si crees que hay que mejorarla.