high-order bit einer Shortvariable auslesen
-
Hi @ all
Wie kann ich das
high-order bit einer Shortvariable auslesen,
bessergesagt ich will prüfen ob das Bit gesetzt ist oder nicht.
Grund ist die WinAPI Funktion GetKeyState.If the high-order bit is 1, the key is down; otherwise, it is up.
Schon mal vielen Dank,
Max
-
Also plattformunabhängig macht man das so:
short x = /*...*/; bool result = (x & (1u << (sizeof(short) * CHAR_BIT - 1))) != 0;Da du aber WinAPI verwendest (und im falschen Forum bist), kannst du das auch kurz schreiben:
short x = /*...*/; bool result = (x & 0x8000) != 0;
-
Ok,funzt

Aber nur wenn mein Programm den Fokus hat,ich würde aber gerne auch prüfen wenn es nicht den Fokus hat,iwe mach ich das?MFG
-
Wieso willst du denn das? Tastendrücke werden doch sowieso nur an das Fenster weitergereicht, welches den Fokus hat. Wenn dein Programm alle Tastendrücke mitbekommen soll, dann musst du wahrscheinlich einen globalen Hook verwenden und dann alle Tastendrücke an dein Programm weiterleiten.
-
Ich will das damit ich imer wenn ich F1 drücke zu meinem Programm komme

Ein hook?ok mal googlen :dMFG
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Achso, sowas hast du vor. Naja, vielleicht ist dann ein Hook doch etwas zu viel. Evtl. kann man da auch irgendwas mit globalen Hotkeys machen. Ich habe selbst schon mal ein Tool gemacht, wo ich sowas verwendet habe. Dazu solltest du dir mal die Funktion RegisterHotKey anschauen. Dort kannst du dann ja das Fenster deines Programmes angeben, und bei Erhalt der Nachricht dich selbst aktivieren. Das sollte eigentlich funktionieren.
-
Ok danke

Max