> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/rdm/es/knowledge-base/how-to-articles/entry-types-events-settings/event-auto-typing-macro.md).

# Macro de escritura automática de eventos

Las macros de escritura se ejecutan automáticamente una vez establecida la conexión. En las ***Propiedades*** de una entrada de sesión, vaya a la sección ***Eventos***, haga clic en la pestaña ***Después de abrir*** e introduzca sus macros personalizadas en el campo de texto ***Macros de escritura***. Haga clic en ***Guardar*** para aplicar los cambios.

<figure><img src="https://webdevolutions.blob.core.windows.net/docs/RDMW4480_2026_2.png" alt=""><figcaption></figcaption></figure>

Las macros de escritura también se pueden añadir en el campo ***ID del botón de inicio de sesión*** de una entrada de sitio web.

![](https://cdnweb.devolutions.net/docs/docs_en_kb_KB6163.png)

### Macro de escritura

Las teclas del teclado se representan mediante etiquetas predefinidas entre llaves. Para especificar un único carácter del teclado, use el carácter en sí sin llaves. Por ejemplo, represente la letra ***A*** escribiendo el carácter "A" en la macro de escritura. Para representar más de un carácter, como ***Hola***, añada cada carácter adicional al anterior: "Hola".

### Teclas especiales

Para especificar caracteres que no se muestran al pulsar una tecla, como <kbd>Enter</kbd> o <kbd>Tab</kbd>, así como las teclas que representan acciones en lugar de caracteres, consulte los códigos de la siguiente tabla.

| TECLA                                         | CÓDIGO                  |
| --------------------------------------------- | ----------------------- |
| <kbd>Backspace</kbd>                          | {BACKSPACE}/{BS}/{BKSP} |
| <kbd>Break</kbd>                              | {BREAK}                 |
| <kbd>Caps lock</kbd>                          | {CAPSLOCK}              |
| <kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>Del</kbd> | {CTRL-ALT-DEL}          |
| <kbd>Del</kbd>/<kbd>Delete</kbd>              | {DEL}/{DELETE}          |
| <kbd>Down</kbd> (flecha)                      | {DOWN}                  |
| <kbd>End</kbd>                                | {END}                   |
| <kbd>Entrée</kbd>                             | {ENTER}                 |
| <kbd>Esc</kbd>                                | {ESC}                   |
| <kbd>Help</kbd>                               | {HELP}                  |
| <kbd>Home</kbd>                               | {HOME}                  |
| <kbd>Ins</kbd>/<kbd>Insert</kbd>              | {INS}/{INSERT}          |
| <kbd>Add</kbd> (teclado numérico)             | {ADD}                   |
| <kbd>Divide</kbd> (teclado numérico)          | {DIVIDE}                |
| <kbd>Multiply</kbd> (teclado numérico)        | {MULTIPLY}              |
| <kbd>Substract</kbd> (teclado numérico)       | {SUBTRACT}              |
| <kbd>Left</kbd> (flecha)                      | {LEFT}                  |
| <kbd>Num lock</kbd>                           | {NUMLOCK}               |
| <kbd>Page down</kbd>                          | {PGDN}                  |
| <kbd>Page up</kbd>                            | {PGUP}                  |
| <kbd>Print screen</kbd>                       | {PRTSC}                 |
| <kbd>Right</kbd> (flecha)                     | {RIGHT}                 |
| <kbd>Scroll lock</kbd>                        | {SCROLLOCK}             |
| <kbd>Tab</kbd>                                | {TAB}                   |
| <kbd>Up</kbd> (flecha)                        | {UP}                    |
| <kbd>F1</kbd>                                 | {F1}                    |
| <kbd>F2</kbd>                                 | {F2}                    |
| <kbd>F3</kbd>                                 | {F3}                    |
| <kbd>F4</kbd>                                 | {F4}                    |
| <kbd>F5</kbd>                                 | {F5}                    |
| <kbd>F6</kbd>                                 | {F6}                    |
| <kbd>F7</kbd>                                 | {F7}                    |
| <kbd>F8</kbd>                                 | {F8}                    |
| <kbd>F9</kbd>                                 | {F9}                    |
| <kbd>F10</kbd>                                | {F10}                   |
| <kbd>F11</kbd>                                | {F11}                   |
| <kbd>F12</kbd>                                | {F12}                   |
| <kbd>F13</kbd>                                | {F13}                   |
| <kbd>F14</kbd>                                | {F14}                   |
| <kbd>F15</kbd>                                | {F15}                   |
| <kbd>F16</kbd>                                | {F16}                   |

Para especificar teclas combinadas con cualquier combinación de las teclas <kbd>Shift</kbd>, <kbd>Ctrl</kbd> y <kbd>Alt</kbd>, preceda el código de la tecla con uno o varios de los siguientes signos.

| TECLA            | CÓDIGO                      |
| ---------------- | --------------------------- |
| <kbd>Alt</kbd>   | {ALT}, {LALT}, {RALT}       |
| <kbd>Ctrl</kbd>  | {CTRL}, {LCTRL}, {RCTRL}    |
| <kbd>Shift</kbd> | {SHIFT}, {LSHIFT}, {RSHIFT} |
| <kbd>Win</kbd>   | {LWIN}, {RWIN}              |

Para especificar que cualquier combinación de las teclas <kbd>Shift</kbd>, <kbd>Ctrl</kbd> y <kbd>Alt</kbd> debe mantenerse pulsada mientras se pulsan varias otras teclas, encierre el código de esas teclas entre paréntesis. Por ejemplo, para especificar que se mantenga pulsada <kbd>Shift</kbd> mientras se pulsan <kbd>E</kbd> y <kbd>C</kbd>, use "{SHIFT}(EC)". Para especificar que se mantenga pulsada <kbd>Shift</kbd> mientras se pulsa <kbd>E</kbd>, seguida de <kbd>C</kbd> sin <kbd>Shift</kbd>, use "{SHIFT}EC".

### Comandos especiales

| COMANDOS                                               | DESCRIPCIÓN                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| ------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| {CLIPBOARD}                                            | Pega el texto actual del portapapeles del sistema en la posición exacta del comando durante la ejecución de la macro. El contenido del portapapeles se lee en el momento de la ejecución y no cuando se crea o se lanza la macro, lo que garantiza que siempre se use el texto copiado más reciente.                                                                                                                                                                                                                              |
| {CTRL-ALT-DEL}                                         | Envía la combinación de teclas <kbd>CTRL</kbd>+<kbd>ALT</kbd>+<kbd>DEL</kbd>.                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| {DELAY}                                                | Introduce un retardo antes del siguiente comando. El retardo predeterminado es de 300 ms y este valor se puede configurar en contextos específicos.                                                                                                                                                                                                                                                                                                                                                                               |
| {DELAY:???}                                            | Introduce un retardo de la duración especificada (en milisegundos) antes del siguiente comando.                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| {PREV-WINDOW}                                          | Selecciona la ventana que estaba activa anteriormente antes de ejecutar los comandos restantes.                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| {SENDKEYS} {ENDSENDKEYS}                               | Se usa en combinación con el comando {ENDSENDKEYS}. El texto encerrado entre estos comandos se ejecuta mediante la [API SendKey predeterminada de .NET](https://learn.microsoft.com/en-us/dotnet/api/system.windows.forms.sendkeys?view=windowsdesktop-8.0), que no admite los comandos específicos de Remote Desktop Manager enumerados en este tema. Este comando se usa normalmente en escenarios en los que la función de macro de escritura no admite determinadas acciones, pero la API SendKeys predeterminada de .NET sí. |
| {WAITFORWINDOW:????} y {WAITFORWINDOW:???;TIMEOUT:???} | Espera hasta que se detecte una ventana con el título especificado. Se puede definir un tiempo de espera para continuar con la macro si no se encuentra la ventana dentro del límite de tiempo indicado. Si no se especifica ningún tiempo de espera, el valor predeterminado es 10 000 ms.                                                                                                                                                                                                                                       |
| {WINDOW:???}                                           | Enfoca una ventana que contenga el nombre especificado después de los dos puntos.                                                                                                                                                                                                                                                                                                                                                                                                                                                 |

### Contraseña de macro

{% hint style="info" %}
La configuración **Permitir contraseña en variable** debe estar habilitada en la **Configuración de seguridad** de la entrada.
{% endhint %}

Puede definir una contraseña para utilizarla exclusivamente dentro de la macro de escritura. Utilice la variable $MACRO\_PASSWORD$ para acceder a la contraseña.

#### Véase también

* [La macro de escritura automática no funciona en una entrada RDP](/rdm/es/knowledge-base/troubleshooting-articles/auto-typing-macro-not-working-in-rdp-entry.md)
* [Devolutions Academy - Automatizar tareas con scripts y macros](https://academy.devolutions.net/student/path/1925316/activity/2668004)
* [Devolutions Academy – Automatización integrada: scripts de PowerShell y macros](https://academy.devolutions.net/student/activity/3380125)
* [Devolutions Academy - Configurar macros de escritura automática de eventos en Remote Desktop Manager](https://academy.devolutions.net/student/page/3146572-configure-event-auto-typing-macros-in-remote-desktop-manager?curriculum_activity_id=4878617\&path_id=2628397\&sid=d7519f7e-923c-40d5-8992-ab3472979ace\&sid_i=0)
* [Devolutions Academy - Optimizar las conexiones remotas con desencadenadores de eventos](https://academy.devolutions.net/student/path/1925316/activity/2668000)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.devolutions.net/rdm/es/knowledge-base/how-to-articles/entry-types-events-settings/event-auto-typing-macro.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
