elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Como hacer que C# pulse una tecla por ti?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como hacer que C# pulse una tecla por ti?  (Leído 4,895 veces)
andrecid

Desconectado Desconectado

Mensajes: 126


Haz lo que quieras, por que nadie te puede obligar


Ver Perfil
Como hacer que C# pulse una tecla por ti?
« en: 29 Julio 2015, 16:52 pm »

Hola bueno pues como ya pudieron ver en el titulo.

Código:
 if(GetAsyncKeyState(Keys.F2) == -32767)
           {
               //Aquí el código para pulsar la tecla
             
           }

Muy bien con eso hago que c# pueda ver que tecla se pulso, pero yo quiero que c# pulse una tecla por mi

¿Cómo puedo hacerlo?


En línea

andrecid

Desconectado Desconectado

Mensajes: 126


Haz lo que quieras, por que nadie te puede obligar


Ver Perfil
Re: Como hacer que C# pulse una tecla por ti?
« Respuesta #1 en: 29 Julio 2015, 16:56 pm »

Muy Bien ya encontré la respuesta la dejo por si alguien la busca.



Código:
SendKeys.Send("{A}");

Ok Modifico ese código lo que hace es enviar escrito pero no se envían las pulsaciones.Yo quiero que se envíen pulsaciones .


« Última modificación: 29 Julio 2015, 17:06 pm por andrecid » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.866



Ver Perfil
Re: Como hacer que C# pulse una tecla por ti?
« Respuesta #2 en: 29 Julio 2015, 17:31 pm »

Yo quiero que se envíen pulsaciones.

¿A la misma aplicación .Net, a la ventana que esté activa, o a cualquier ventana (activa o inactiva indiferentemente)?.

Hay una gran diferencia y cada una requiere una elaboración distinta.

  • Para enviar pulsaciones a la aplicación donde corre tu código obviamente solo tienes que activar la ventana de la app y pulsar las teclas, luego puedes procesar "X" acción según la tecla pulsada suscribiéndote al evento Form.KeyDown o Form.KeyPress.
     
  • Para enviar pulsaciones a la aplicación que esté activa, es decir, la que tenga el foco, primero debes hallar su HWND (el handle de la ventana), por último puedes usar las funciones de la API de Windows.

    SendInput function - MSDN
        ( No utilices la función keybd_event, que aunque sea más sencillo, está obsoleta. )
     
  • Para enviar pulsaciones a cualquier aplicación, esté activa o inactiva, primero debes hallar el HWND (el handle de la ventana) a la que le quieres enviar pulsaciones,
    y por último utilizar la función SendMessage de la API de windows para postear el mensaje WM_KEYDOWN (256) o WM_CHAR (258) respectivamente de lo que pretendas enviar.

    SendMessage function - MSDN
    Keyboard Input Notifications - MSDN
    Virtual-Key Codes - MSDN
     
Pseudo-Código:
Código
  1. NativeMethods.SendMessage(hWnd:=Window, msg:=WM_KEYDOWN, wParam:=VK_KEYCODE, lParam:=IntPtr.Zero)

Saludos
« Última modificación: 30 Julio 2015, 08:31 am por Eleкtro » En línea



Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Detectar tecla presionada y si es tal tecla hacer tal cosa
Programación Visual Basic
Wiidos 3 6,180 Último mensaje 20 Marzo 2011, 19:15 pm
por raul338
Problema: apretar tecla al hacer click
Programación Visual Basic
Demereth 0 2,122 Último mensaje 24 Agosto 2013, 06:31 am
por Demereth
emular click cuando pulse la tecla 1
Programación C/C++
persona3 1 2,161 Último mensaje 30 Agosto 2017, 11:54 am
por ivancea96
Es posible hacer un script para que pulse 3 teclas a la vez?
Scripting
unknown1111 2 3,171 Último mensaje 7 Diciembre 2017, 01:14 am
por Eleкtro
Desde que pulse una tecla, que ejecuta dicha acción
Programación C/C++
Meta 6 6,173 Último mensaje 13 Febrero 2023, 22:50 pm
por Meta
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines