4 votos

¿Ejecutar un AppleScript que requiere pulsaciones de teclas mientras la pantalla está bloqueada?

Tengo un AppleScript muy simple cuyo trabajo es escribir algunas palabras en un cuadro de texto.

tell application "TextEdit"
  activate
end tell
delay 0.2
tell application "System Events"
  keystroke "Hello World!"
  keystroke return
end tell

Quiero que este script se ejecute cada vez que se active mi salvapantallas, y de nuevo cada vez que se desactive. He instalado ScriptSaver y funciona perfectamente. Hasta aquí, todo bien.

Excepto que mi pantalla se bloquea cuando se activa el protector de pantalla. Esto significa que cuando mi script le dice a TextEdit que se active, el ordenador abre su ventana de inicio de sesión y piensa que estoy escribiendo "¡Hola Mundo!" como contraseña. No es lo ideal.

Intenté hacer que el salvapantallas requiriera una contraseña después de 5 segundos, en lugar de inmediatamente, pero no sirvió de nada: el proceso de activar TextEdit sólo despierta la pantalla de nuevo.

¿Hay alguna forma de activar TextEdit y escribir palabras en él? en el fondo ¿Sin que mi ordenador piense que estoy intentando desbloquear la pantalla?

0 votos

¿Estás atado al uso de AppleScript?

0 votos

@Daniel: En absoluto; es sólo con lo que estoy más familiarizado.

3voto

konqui Puntos 531

No, no creo que puedas hacerlo como quieres.

  1. Cada interacción humana en un PC durante el Salvapantallas intenta desactivarlo. (Como mover el ratón, pulsar una tecla, etc.)

  2. Applescript la mayoría de las veces se usa para script alguna GUI (como en tu caso --> decirle a la aplicación TextEdit -> no hace nada más que abrir Textedit como lo harías haciendo doble click)

Así que para traerte una manera que debería funcionar:

hacer un applescript que escribe el texto a un archivo directamente y luego abrir el archivo con el texto en él si es necesario.

algo así:

tell application System Events
    do shell script "echo 'your text that you wanna type' > /path/to/the/file/where/the/text/stands/in"
end tell

tell application TextEdit
    open /path/to/the/file/where/the/text/stands/in
end tell

0voto

Stéphane Gimenez Puntos 901

¿Has probado (no sé si funcionará):

activate application "TextEdit"
delay 0.2
tell application "System Events" to tell process "TextEdit" to keystroke "Hello World!"

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