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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Interrupcion de teclado
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Interrupcion de teclado  (Leído 9,807 veces)
darnali

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Interrupcion de teclado
« en: 7 Abril 2010, 15:22 pm »

Hola buenas!

Me gustaria a ver si alguien me puede explicar como funcionan las interrupciones en Visual Studio 2008 programando con Framework 2.0, no se como van i si alguien me echa un cable, le estaria muy agradecido!

Saludos!


En línea

Zzombi

Desconectado Desconectado

Mensajes: 174



Ver Perfil WWW
Re: Interrupcion de teclado
« Respuesta #1 en: 8 Abril 2010, 03:20 am »

quieres bloquear el teclado? o bloquear ciertas teclas

explicate más


En línea

bizco


Desconectado Desconectado

Mensajes: 698


Ver Perfil
Re: Interrupcion de teclado
« Respuesta #2 en: 8 Abril 2010, 03:21 am »

no se usan interrupciones a dia de hoy.
En línea

darnali

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Re: Interrupcion de teclado
« Respuesta #3 en: 8 Abril 2010, 09:45 am »

quiero escribir en la interrupcion de teclado, es decir, poder escribir por el puerto de teclado sin el teclado, no se si me explico...
En línea

Zzombi

Desconectado Desconectado

Mensajes: 174



Ver Perfil WWW
Re: Interrupcion de teclado
« Respuesta #4 en: 9 Abril 2010, 03:54 am »

y que tal simular pulsaciones de teclas?
con keybd_event
En línea

darnali

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Re: Interrupcion de teclado
« Respuesta #5 en: 9 Abril 2010, 09:09 am »

ya lo probé y no me sirve, ya que en el inicio de sesion de windows no me envia las teclas "pulsadas" con el keybd_event al foco del password por ejemplo, eso es lo que quiero hacer en definitiva, no hay nada mas a parte del sendkeys?

Saludos!
En línea

[D4N93R]
Wiki

Desconectado Desconectado

Mensajes: 1.646


My software never has bugs. Its just features!


Ver Perfil WWW
Re: Interrupcion de teclado
« Respuesta #6 en: 9 Abril 2010, 20:39 pm »

SendKeys?
En línea

Keyen Night


Desconectado Desconectado

Mensajes: 496


Nothing


Ver Perfil
Re: Interrupcion de teclado
« Respuesta #7 en: 10 Abril 2010, 00:06 am »

El API SendMessage tambien sirve para enviar teclas pero a un handle determinado...

Mira este ejemplo en C#
Código
  1.        [DllImport("user32.dll")]
  2.        public static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, int wParam, int lParam);
  3.  
  4.            public const int WM_KEYDOWN = 0x0100;
  5.            public const int WM_KEYUP = 0x0101;
  6.            public const int WM_CHAR = 0x0102;
  7.  
  8.        public static void SendString(IntPtr mHandle, string s)
  9.        {
  10.            foreach (var c in s)
  11.                SendKey(mHandle, Convert.ToInt32(c));
  12.            Thread.Sleep(10);
  13.        }
  14.  
  15.        public static void SendKey(IntPtr mHandle, Int32 key)
  16.        {
  17.            SendMessage(mHandle, WM_KEYDOWN, (int)key, 0);
  18.            SendMessage(mHandle, WM_CHAR, (int)key, 0);
  19.            SendMessage(mHandle, WM_KEYUP, (int)key, 0);
  20.        }
En línea

La Fé Mueve Montañas...
                                    ...De Dinero

La programación es más que un trabajo es más que un hobby es una pasión...
darnali

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Re: Interrupcion de teclado
« Respuesta #8 en: 12 Abril 2010, 11:07 am »

ok, vamos a ver, y eso como se llamaria luego, por ejemplo si quiero enviar "Hola" al "textbox" del password de windows??

es mas.... tengo problemas al traducir esto a VB.NET, podrias echarme un cable en esto?

Gracias de antemano
« Última modificación: 12 Abril 2010, 11:13 am por darnali » En línea

Keyen Night


Desconectado Desconectado

Mensajes: 496


Nothing


Ver Perfil
Re: Interrupcion de teclado
« Respuesta #9 en: 12 Abril 2010, 16:35 pm »

Primero debes de descargar el WinID para saber si el TextBox es Child o Parent y saber cual es su Class y el Class de su Parent si es Child, esto para así saber si debes usar FindWindow o FindWindowEx. Una vez obtenido el Handle el codigo anterior es más facil de usar en Vb.Net:

Código
  1.    Public Const _
  2.    WM_KEYDOWN As Integer = &H100, _
  3.    WM_KEYUP As Integer = &H101, _
  4.    WM_CHAR As Integer = &H102
  5.  
  6.    Public Sub SendString(ByVal mHandle As IntPtr, ByVal s As String)
  7.  
  8.        For Each c As String In s
  9.            SendKey(mHandle, System.Text.Encoding.Default.GetBytes(c).First)
  10.            Threading.Thread.Sleep(10)
  11.        Next
  12.  
  13.    End Sub
  14.  
  15.    Public Sub SendKey(ByVal mHandle As IntPtr, ByVal key As Keys)
  16.        SendMessage(mHandle, WM_KEYDOWN, key, IntPtr.Zero)
  17.        SendMessage(mHandle, WM_CHAR, key, IntPtr.Zero)
  18.        SendMessage(mHandle, WM_KEYUP, key, IntPtr.Zero)
  19.    End Sub

Y prueba el codigo así:

Debes importar SendMessage, FindWindow y FindWindowEx ( las consigues en pinvoke.net )

Abre un Bloc de Notas y dejalo vacio, en tu Sub Load agrega lo siguiente:

Código
  1.        Dim Notepad As IntPtr = FindWindowEx(FindWindow("Notepad", Nothing), 0, "Edit", Nothing)
  2.  
  3.        SendString(Notepad, "Enviando String con SendMessage")

Funciona perfecto ^^
En línea

La Fé Mueve Montañas...
                                    ...De Dinero

La programación es más que un trabajo es más que un hobby es una pasión...
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Interrupcion RB0 y inicio del TMR0 CCS
Electrónica
eric090 3 7,160 Último mensaje 8 Junio 2013, 15:57 pm
por ruibal69
interrupcion en lenguaje C
Programación C/C++
retsam07 1 5,827 Último mensaje 7 Octubre 2013, 14:12 pm
por daryo
Problema con Interrupcion BIOS y mas!!
ASM
Vaagish 6 3,842 Último mensaje 19 Diciembre 2013, 18:10 pm
por Vaagish
[C] Interrupcion de teclado en C
Programación C/C++
JoseluCross 2 2,174 Último mensaje 2 Mayo 2016, 03:35 am
por class_OpenGL
crear interrupción por hardware
ASM
FERNIIIIN 2 2,284 Último mensaje 17 Junio 2019, 05:07 am
por FERNIIIIN
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines