Tasten mit Tastencode abfragen



  • hey leute, ich hab mal wieder nen poblem:

    ich möchte system weit abfragen ob die a taste gedrückt wird.
    ich habe auch schon ein code und es kommen acuh keine fehler beim kompliemiren
    aber es passirt garnichts wenn ich auf a drücke. hier mein code:

    Void hotkey ()
    if(GetAsyncKeyState(41))
    {
    cout << "A wurde Gedrueckt!"
    }
    

    bite helft mir danke schonmal im vorraus!



  • A ist nicht 41, sondern 0x41 oder aber 65.



  • danke! es hatt funktioniert! ich habe 65 genommen 😃



  • Hallo.

    if(GetAsyncKeyState(41) == -32767 ) 
     { 
     cout << "A wurde Gedrueckt!" 
     }
    

    Ohne das -32767 ist die abfrage nicht zuverlässig.

    Warum -32767 keine Ahnung. ^^



  • Das ist binär 1000000000000001.
    Eine der beiden Einsen ist gesetzt, wenn der Key gerade gedrückt ist, die andere, wenn der Key nach dem letzten Aufruf von GetAsyncKeyState gedrückt wurde, nachzulesen hier:
    http://msdn.microsoft.com/en-us/library/ms646293(v=vs.85).aspx
    Bei dem Vergleich sollte man also wissen, welche Information genau man haben möchte. Außerdem ist meines Wissens nicht garantiert, dass alle anderen Bits auf 0 sind, deshalb wäre ein Maskieren der beiden Bits womöglich die sicherere Variante:
    if((GetAsyncKeyState(41) & 0x8001) == 0x8001)


Log in to reply