Bueno, como dice en el post les voy a enseñar a usar esta API que nos provee Windows.
Aclaro que voy a utilizar el lenguaje de programación PAUSCAL
Como es obvio, comenzamos abriendo la información de esta api en MSDN
El enlace es: SendInput
Como pueden ver, su sintaxis es la siguiente.
Traducido a Pauscal queda asi.
Como ven, todos los tipos de datos son Entero y este alcanza de 0 hasta 4.294.967.295.
Sin decimales.
Ahora si volvemos al MSDN podremos ver que en la descripción de parametros nos pide en primer lugar el numero de estructuras que pasaremos, Generalmente 1.
En segundo lugar un puntero a una estructura INPUT.
Y en tercer lugar el tamaño de la estructura en bytes.
Entonces, pasamos directamente a la estructura que encontraremos haciéndole clic al enlace INPUT.
El enlace es el siguiente: INPUT
Y encontramos la siguiente sintaxis.
En pauscal lo traducimos de esta menera.
A diferencia de C++, En pauscal no se puede declarar una Unión directamente en la estructura por lo que la declaramos arriba.
Volvemos a la MSDN y vemos que sus miembros son:
En el parámetro "Type" establecemos el valor que señala que estructura vamos a utilizar.
0 Para INPUT_MOUSE
1 Para INPUT_KEYBOARD
2 Para INPUT_HARDWARE
y debajo de esto nos dice que:
"Mi" es una variable que llama a una estructura MOUSEINPUT
"Ki" es una variable que llama a una estructura KEYBOARDINPUT
"Hi" es una variable que llama a una estructura HARDWAREINPUT
y obviamente tenemos que agregar estas 3 estructuras a nuestro codigo fuente.
Sus sintaxis son:
Lamentablemente no nos meteremos muy a fondo con los parametros de estas estructuras.
Traducido a Pauscal:
Nuestro código quedaría así:
Ya tengo todo el código escrito, pero no se como utilizarlo. ¿Como hago?
Bueno, supongamos que queremos utilizar SendInput para simular un Clic derecho del ratón.
Lo mejor es comenzando encerrando todo en un procedimiento para re-utilizar el código, Pero yo lo dejare libre ya que es algo ocasional.
Comenzamos creando una variable llamada "Send" de tipo INPUT Estructura. aunque se puede llamar de cualquier manera.
Recordemos algo, INPUT es la estructura a la cual le establecemos el tipo de Estructura que utilizaremos y que contiene un puntero hacia una Unión que contiene el resto de las Estructuras a las cuales le debemos establecer los datos.
Ahora establecemos en la estructura INPUT el tipo de estructura que utilizaremos dentro de la unión, en este caso MOUSEINPUT.
Ahora establecemos los valores a la estructura de esta manera.
A través de la variable "Send" entramos a la unión "Union" y seleccionamos una de las 3 estructuras, "Mi" ya que es la variable que llama a MOUSE_INPUT Estructura.
Una ves dentro de "Mi" Seleccionamos llenamos "dwFlags" con el valor "&0008"
El valor "&0008" señala que "Se ha pulsado el botón derecho." pero recuerden, que no lo suelta. lo mantiene presionado.
Una vez rellenado los parámetros les quedara algo así.
Y ya es hora de llamar a la función SendInput!
La utilizamos de la siguiente manera.
Recuerden que explique esta función al inicio del post, pero igual lo are de nuevo.
Parámetro 1 _ El numero de estructuras en pInputs Array.Generalmente 1.
En segundo lugar un puntero a una estructura INPUT.
Y en tercer lugar el tamaño de la estructura en bytes.
Para obtener el puntero de una estructura escribimos un Arroba "@" delante de la variable que la invoca.
Para obtener el tamaño utilizamos la función Long en la variable que la invoca.
Y listo, si lo ejecutan podrán ver que se cliqueo el botón derecho del ratón Virtualmente obvio.
Código Final:
¡Saludos!
Aclaro que voy a utilizar el lenguaje de programación PAUSCAL
Como es obvio, comenzamos abriendo la información de esta api en MSDN
El enlace es: SendInput
Como pueden ver, su sintaxis es la siguiente.
![Te enseño lo básico de SendInput [API]](https://storage.posteamelo.com/assets-adonis/assets/2014/07/13/GCGX4Vo.png-8xizw7FRvTf.webp)
Traducido a Pauscal queda asi.

Como ven, todos los tipos de datos son Entero y este alcanza de 0 hasta 4.294.967.295.
Sin decimales.
Ahora si volvemos al MSDN podremos ver que en la descripción de parametros nos pide en primer lugar el numero de estructuras que pasaremos, Generalmente 1.
En segundo lugar un puntero a una estructura INPUT.
Y en tercer lugar el tamaño de la estructura en bytes.

Entonces, pasamos directamente a la estructura que encontraremos haciéndole clic al enlace INPUT.
El enlace es el siguiente: INPUT
Y encontramos la siguiente sintaxis.
En pauscal lo traducimos de esta menera.
A diferencia de C++, En pauscal no se puede declarar una Unión directamente en la estructura por lo que la declaramos arriba.
Volvemos a la MSDN y vemos que sus miembros son:
En el parámetro "Type" establecemos el valor que señala que estructura vamos a utilizar.
0 Para INPUT_MOUSE
1 Para INPUT_KEYBOARD
2 Para INPUT_HARDWARE
y debajo de esto nos dice que:
"Mi" es una variable que llama a una estructura MOUSEINPUT
"Ki" es una variable que llama a una estructura KEYBOARDINPUT
"Hi" es una variable que llama a una estructura HARDWAREINPUT
y obviamente tenemos que agregar estas 3 estructuras a nuestro codigo fuente.
Sus sintaxis son:
Lamentablemente no nos meteremos muy a fondo con los parametros de estas estructuras.
Traducido a Pauscal:
Nuestro código quedaría así:
Ya tengo todo el código escrito, pero no se como utilizarlo. ¿Como hago?
Bueno, supongamos que queremos utilizar SendInput para simular un Clic derecho del ratón.
Lo mejor es comenzando encerrando todo en un procedimiento para re-utilizar el código, Pero yo lo dejare libre ya que es algo ocasional.
Comenzamos creando una variable llamada "Send" de tipo INPUT Estructura. aunque se puede llamar de cualquier manera.
Recordemos algo, INPUT es la estructura a la cual le establecemos el tipo de Estructura que utilizaremos y que contiene un puntero hacia una Unión que contiene el resto de las Estructuras a las cuales le debemos establecer los datos.
Ahora establecemos en la estructura INPUT el tipo de estructura que utilizaremos dentro de la unión, en este caso MOUSEINPUT.
Ahora establecemos los valores a la estructura de esta manera.
A través de la variable "Send" entramos a la unión "Union" y seleccionamos una de las 3 estructuras, "Mi" ya que es la variable que llama a MOUSE_INPUT Estructura.
Una ves dentro de "Mi" Seleccionamos llenamos "dwFlags" con el valor "&0008"
El valor "&0008" señala que "Se ha pulsado el botón derecho." pero recuerden, que no lo suelta. lo mantiene presionado.
Una vez rellenado los parámetros les quedara algo así.
Y ya es hora de llamar a la función SendInput!
La utilizamos de la siguiente manera.
Recuerden que explique esta función al inicio del post, pero igual lo are de nuevo.
Parámetro 1 _ El numero de estructuras en pInputs Array.Generalmente 1.
En segundo lugar un puntero a una estructura INPUT.
Y en tercer lugar el tamaño de la estructura en bytes.
Para obtener el puntero de una estructura escribimos un Arroba "@" delante de la variable que la invoca.
Para obtener el tamaño utilizamos la función Long en la variable que la invoca.
Y listo, si lo ejecutan podrán ver que se cliqueo el botón derecho del ratón Virtualmente obvio.
Código Final:
¡Saludos!