Resulta que estoy haciendo una aplicación que es parecido a un keylogger y utiliza la API GetAsyncKeyState.
Yo ya tenia una aplicación que utilizaba esta API y me andaba barbaro, el problema que yo lo programé en windows XP, y al probarlo en el seven no me anduvo. Miré cual podía ser el motivo y pasa algo que es muy raro.
Los que conocen esta API, sabrán que lo que hace es devolver un resultado si el codigo de determinada tecla pasada como parámetro, ha sido presionada. La idea es recorrer con un For caracter por caracter, y por cada ciclo preguntar si x caracter ha sido presionado o no. Si habia sido presionado, devolvía el entero -32767.
Ejemplo:
Código:
Esto claro va dentro de un timer para que esté contanstemente chequeando.Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick For i = 0 To 128 'Pongo hasta 128 porque solo me interesa las letras y números If result = -32767 Then 'Una vez que encuentro la tecla presionada (valor en i) hago la funcion que necesite
Bueno, el problema que tengo en el seven es que no me devuleve el entero -32767, sino que me devuelve cualquier otro numero mas largo y no solo eso, sino que también ese numero es distinto cada vez que ejecuto la aplicación. Lo que si me devuleve constante es el entero 32768, que sale cuando hago algún click o presiono la tecla enter (no se si alguna otra tecla, pero las de letras y numeros NO)
Bueno, espero que alguien me pueda ayudar con este problema. Muchas gracias.