1 votos

AppleScript: Hacer clic en un botón de un archivo dmg

Estoy tratando de averiguar qué código enviará 2 clics para abrir un archivo en un archivo .dmg abierto utilizando AppleScript en script Editor.

He creado el archivo .dmg

He estado buscando la manera de crear un código que funcione y que cambie al archivo .dmg abierto y haga clic en un archivo del .dmg dos veces para abrirlo donde sea que el .dmg haya sido colocado en la pantalla/s. Esta es la parte más difícil, me gustaría que cualquiera pudiera utilizarlo. Lo (posiblemente) bueno es que el archivo script del código que quiero ejecutar estará en el .dmg (no sé oficialmente si eso es bueno o no).

Por favor, tened en cuenta que sé poco o nada de código y es la primera vez que trabajo con él.

El código más cercano que he encontrado que "podría" trabajo se muestra a continuación:

The closest code I have found:

El enlace para ^esto^ El código se muestra a continuación. Se encuentra en este sitio web:

Uso de AppleScript para hacer clic en los botones de radio

Si necesitas más detalles o cualquier otra cosa, ¡pregúntame en los comentarios de abajo! ¡La ayuda y los consejos son realmente apreciados! ¡Gracias!

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.

1voto

qarma Puntos 71

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

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X