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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  duda con pulsasiones en el teclado
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: duda con pulsasiones en el teclado  (Leído 1,482 veces)
vivachapas


Desconectado Desconectado

Mensajes: 612



Ver Perfil
duda con pulsasiones en el teclado
« en: 2 Noviembre 2007, 18:18 pm »

xD este tema me supero siemrpe jeje

el tema es este queria hacer un tipo de macros con el cual x ej estando en Word pulse la L y me escriba un texto (se q Word tiene para hacer macros pero lo quiero para otros programas)
el problema es q si pulso la "L" en el programa este hace lo q tiene q hacer pero, si lo hago en Word logicamente no le llega la orden a VB.
mi duda es como hacer a q interprete todas las pulsaciones aunque sea en otro lado. pense q seria algo como un keylogger pero necesito solo algunas funciones...

desde ya muchas gracias


En línea

HaDeS, -
WarZone Master

Desconectado Desconectado

Mensajes: 284



Ver Perfil WWW
Re: duda con pulsasiones en el teclado
« Respuesta #1 en: 3 Noviembre 2007, 22:35 pm »

En un form mete esté código:
Código
  1. Private Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
  2. Private Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
  3.  
  4. Private Sub Command1_Click()
  5. SetTimer Me.hwnd, 0, 1, AddressOf Go
  6. End Sub
  7.  
  8. Private Sub Command2_Click()
  9. KillTimer Me.hwnd, 0
  10. End Sub
  11.  
Con dos CommandButton, uno para parar el timer y el otro para crearlo.

y en un módulo esto:
Código
  1. Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
  2. Dim Tecla$, TeclaVieja$
  3.  
  4. Sub Go(ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long)
  5. Tecla = ObtenerTecla
  6. If Tecla <> TeclaVieja Then
  7. TeclaVieja = Tecla
  8. MsgBox "Tecla " & TeclaVieja & " fue pulsada."
  9. End If
  10. End Sub
  11.  
  12. Private Function ObtenerTecla() As String
  13. If GetAsyncKeyState(76) Then
  14.    ObtenerTecla = Chr$(76)
  15. End If
  16. End Function
  17.  
El getasynckeystate funciona para todo el sistema sin importar en que ventana estes activo, el SetTimer corre un timer de 1 milisegundo ejecutando las ordenes que se encuentran dentro del sub go.
Creo que es estó a lo que te referis.

Saludos!


En línea

vivachapas


Desconectado Desconectado

Mensajes: 612



Ver Perfil
Re: duda con pulsasiones en el teclado
« Respuesta #2 en: 4 Noviembre 2007, 04:24 am »

muchas gracias x la info!
entraba para decir q ya lo habia solucionado... a lo mejor no es la mejor manera pero es muy sencilla miren:

timer1 interval=1
Citar
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer

Private Sub Timer1_Timer()
If GetAsyncKeyState(96) = -32767 Then
msgbox "se pulso el 0 de los numeros de la izq"
End If

If GetAsyncKeyState(110) = -32767 Then
msgbox "se pulso al el "." de al lado del 0"
End If

End Sub

:D


gracias de todos modos ;)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
DUDA CON XOR Y TECLADO
ASM
D4P50N 1 2,884 Último mensaje 24 Febrero 2013, 18:21 pm
por limbertx
Duda con el teclado
Hardware
Javi Metal 4 3,786 Último mensaje 15 Junio 2020, 11:09 am
por Javi Metal
vb.net enviar pulsasiones de tecla a otra aplicacion
.NET (C#, VB.NET, ASP)
Pirolox 4 4,271 Último mensaje 10 Octubre 2021, 18:40 pm
por Pirolox
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines