Visual Basic.NET - ¿Como simular comportamiento del teclado y mouse?

 
Vista:
sin imagen de perfil
Val: 8
Ha aumentado su posición en 15 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

¿Como simular comportamiento del teclado y mouse?

Publicado por ASmER3 (1 intervención) el 08/08/2020 19:47:15
En java existe una clase llamada Robot la cual permite simular comportamientos del teclado y mouse, lo que quiero decir es que permite ejecutar cualquier tecla y también el click izquierdo como derecho del mouse pero, en vb.net no se si exista algo similar, estuve buscando y encontré algo de SendsKey pero no funciona con todas las teclas solo con algunas, quisiera saber si en vb.net existe algo parecido.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Roy
Val: 21
Ha disminuido su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

¿Como simular comportamiento del teclado y mouse?

Publicado por Roy (5 intervenciones) el 08/08/2020 20:26:17
Para simular el clic del mouse se puede crear un evento MouseEventArgs con la propiedad Button establecida en el boton que se desea presionar (si se desea clic derecho: MouseButton.Right, por ejemplo) y luego en el momento que se quiera aplicar la simulacion basta con llamar al metodo onMouseClick con ese MouseEventArgs como argumento.
Y para simular el teclado efectivamente se puede utilizar la clase SendKeys pero tomando en cuenta algunas previsiones. Primeramente, esta clase debe utilizarse con framework .NET version 3.0 o superior (las anteriores no funcionan bien) y segundo, en el app.config, agregar esta directiva para que se utilice la version correcta segun el sistema operativo instalado en el equipo anfitrion:
1
2
3
<appSettings>
 <add key="SendKeys" value="SendInput"/>
</appSettings>
Con eso implementado, solo hace falta aplicar el llamado a SendKeys en el lugar donde se quiera hacer la simulacion:
1
SendKeys.Send("{ENTER}");
En esta pagina puedes ver los valores que puedes poner en el argumento de Send (en lugar de ENTER):
https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.sendkeys.send?view=netcore-3.1
Si quieres implementar la simulacion de una tecla es importante hacer notar que esta clase no es case sensitive, es decir, no distingue entre mayusculas y minusculas, si utilizar SendKeys.Send("{H}") es lo mismo que usar SendKeys.Send("{h}")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar