Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Probleme mit Keyboard Hook

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
19.12.2006, 13:22 Uhr
stefan_667



Hallo,

ich habe einen Keyboardhook erstellt, der auf einen bestimmten Tastendruck eine Funktion aufrufen soll. An sich funktioniert der Hook und auch die aufzurufende Funktion, nur leider bekomme ich das nicht hin, dass die Funktion nur auf eine bestimmte Taste reagieren soll. Ich habe in der MSDN gelesen, das die Tastaturabfrage über den in der Variable wParam getätigt werden muss, doch da kommt bei mir nur die Werte für WM_KEYUP und WK_KEYDOWN an. Ich habe schon verschiedene Beispiel im Netz angeschaut, keine haben mir genutzt.

Hier der Auszug aus meiner DLL:

Code:
...
LRESULT CALLBACK KeyboardProc (int, WPARAM wParam, LPARAM lParam);

...

LRESULT CALLBACK KeyboardProc (int nCode, WPARAM wParam, LPARAM lParam){
    
     if(nCode < 0) return CallNextHookEx(kbrdHook, nCode, wParam, lParam);
  
     if (nCode >= 0)
     {  
         if(!(lParam & 0x80000000))
     {
              switch(wParam)
          {
              case VK_SPACE :    create_bitmap(NULL,NULL,NULL);
                        break;
           }
        
      return CallNextHookEx(kbrdHook, nCode, wParam, lParam);
}



kbrdHook hat den Wert 13.

Wie gesagt , der wParam bekommt entweder den Wert 256 oder 257. Wenn mir jemand helfen kann, wär ich sehr dankbar

Gruß Stefan
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
19.12.2006, 13:25 Uhr
stefan_667



halt Fehler in der Aussage, die Variable ist wie folgt initialisiert kbrdHook = SetWindowsHookEx(13, KeyboardProc,hi , 0);
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
19.12.2006, 13:43 Uhr
stefan_667



Ok, zu blöd ich hab die Lösung, der Parameterwert 13 steht für einen globalen Hook, dann ist das logisch das beim wParam nur KEYUP oder KEYDOWN ankommt. Für die, welche es interessiert, ich habe kbrdhook wie folgt initialisiert und jetzt geht es wie die Sau:

kbrdhook=SetWindowsHookEx (WH_KEYBOARD, (HOOKPROC) KeyboardProc,hi , 0);
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: