GetKeyState()



  • Moin Leute,
    wenn ich die mit GetKeyState(VK_DOWN) überprüfe, ob zum Beispiel eine Pfeiltaste gedrückt worden ist oder nicht, so gibt die Funktion die Zahlen "-127" oder "-128" zuürck. Analog dazu, gibt die Funktion wenn diese Taste nicht gedrückt worden ist entweder die Werte "0" oder "1" wieder. Kann mir einer sagen, ob das "normal" ist, oder ob ich da was falsch mache....
    danke!



  • 😮 MSDN findet bei mir "GetKeyState" gar nicht, ist das auch normal? 😮

    cu



  • ups, sollte ich mich im Forum geirrt haben?
    das ganz heißt bei mir "Microsoft® Win32® Programmer's Reference" (Win32.hlp)
    ....



  • Nein, ich meine http://msdn.microsoft.com , da sollte das schon drinnstehen, oder?

    cu



  • Hallo, ...steht auch drinn, haste dich vielleicht vertippt.

    Bei dem Returnwert mußt du high-order bit und low-order bit unterscheiden.

    SHORT lowBit = 1;   //Toggle state prüfen
    SHORT hiBit = (1 << 15); //Test ob Taste gerade gedrückt ist oder nicht;
    
    SHORT wert = GetKeyState(<Taste> );
    if (wert & lowBit) TRACE("Taste Toggle ON\n");
    else TRACE("Taste Toggle OFF\n");
    
    if (wert & hiBit) TRACE("Taste ist gerade DOWN\n");
    else TRACE("Taste ist gerade UP\n");
    

    ACHTUNG! return wert ist eigentlich short. Neben Up und Down auf dem hiBit, kann man also auch noch den sogenannten Toggle-State (z.B. um CAPS LOCK zu testen) auf dem lowBit abfragen.

    Gruß mathi

    [ Dieser Beitrag wurde am 18.12.2002 um 16:47 Uhr von mathi editiert. ]

    [ Dieser Beitrag wurde am 18.12.2002 um 16:47 Uhr von mathi editiert. ]



  • Hi DK,

    Folgendes steht bei MSDN unter Rückgabewert:

    The return value specifies the status of the specified virtual key,
    as follows: If the high-order bit is 1, the key is down; otherwise,
    it is up. If the low-order bit is 1, the key is toggled. A key, such
    as the CAPS LOCK key, is toggled if it is turned on. The key is off and
    untoggled if the low-order bit is 0. A toggle key's indicator light
    (if any) on the keyboard will be on when the key is toggled, and off
    when the key is untoggled.

    Ich habe damit noch nicht gearbeitet, daher
    kann ich dir nicht viel mehr dazu sagen.

    @MagiC Creator,
    in der Onlineversion hab ich noch nicht nachgesehen. Aber
    in meiner MSDN-DVD Version von Arbeit steht das im Bereich
    "Platform SDK: Windows User Interface".

    Bye Peter.



  • OK mathi war schneller.



  • Wahrscheinlich hab ich mich wirklich vertippt... jetzt geht's jedenfalls :).

    cya


Anmelden zum Antworten