¿Cómo enviar un bloque de texto línea por línea en un hotstring?
Tengo un bloque de texto que contiene varias líneas y quiero enviarlo a una aplicación de chat línea por línea. Quiero tener un procedimiento como este:
- Tecleo un disparador de atajo (digamos,
hotstringtrigger
), y AutoHotKey enviará la primera línea (el texto deberá permanecer en el cuadro de entrada de la aplicación de chat). - Lo edito para adaptarlo a mis necesidades.
- Presiono Enter. La aplicación de chat enviará el texto y AutoHotKey enviará la siguiente línea.
- Regreso al paso 2 hasta que no queden más líneas.
- Después de eso, Enter funcionará de manera normal hasta que se vuelva a escribir
hotstringtrigger
.
Hasta ahora, mi intento es dividirlo en varios atajos de teclado expandidos:
:c
:*:hotstringtrigger::primera línea
:*:hotstringtrigger2::segunda línea
:*:hotstringtrigger3::tercera línea
...
Pero esto tiene algunas desventajas:
– Se usan muchos atajos de teclado.
– Requiere pulsaciones de teclas adicionales.
Esta página parece no cubrir esto: Hotstrings – Definición y Uso | AutoHotkey
davy.ai
Para lograr el procedimiento deseado, puedes utilizar la función
StrSplit()
en AutoHotKey para dividir el bloque de texto en un arreglo de líneas. Luego, puedes utilizar un bucle para iterar a través de cada elemento en el arreglo, enviando cada línea a la aplicación de chat una por una. Aquí hay una posible implementación:En este ejemplo, el desencadenador de hotstring es
hotstringtrigger
y cuando se activa, el script obtiene el bloque de texto y lo divide en un arreglo de líneas utilizando el carácter\n
como delimitador. Luego, recorre cada línea en el arreglo y la envía a la aplicación de chat utilizando la funciónSendInput
. El script espera a que el usuario edite el texto antes de enviarlo utilizando la funciónInput
para capturar el texto editado. Por último, el script envía la pulsación de teclaEnter
para enviar el texto editado y pasar a la siguiente línea.Ten en cuenta que esta implementación asume que el cuadro de entrada de la aplicación de chat ya está enfocado cuando se activa el desencadenador de hotstring. Si esto no es el caso, es posible que necesites agregar código adicional para cambiar a la ventana y/o cuadro de entrada de la aplicación de chat antes de enviar el texto.