Schreiben eines einfachen C++ - Programms und Verwenden von GetAsyncKeyState zum Auslösen verschiedener Funktionen. Wenn Sie beispielsweise Tasten (VK_MENU) verwenden, funktioniert alles einwandfrei. Aber wenn ich VK_LBUTTON benutze, werden nur 1/100 Drücken erkannt.GetAsyncKeyState erkennt keine Mauseingabe
Mein Detektorzeile ist einfach
if(GetAsyncKeyState(VK_LBUTTON)) { do stuff; }
jemand empfehlen kann, warum dies geschieht?
Übliche Erinnerung über 'GetAsyncKeyState': Es ist keine richtige Methode, um Benutzereingaben zu erhalten, Sie riskieren den Verlust von Ereignissen und werden nicht richtig mit der Eingangswarteschlange des Threads synchronisiert. Verwenden Sie die normalen Maus-/Tastatureingabemeldungen. –
Warum? Ich brauche eine Funktion, die im Hintergrund ausgeführt werden kann, da mein Fenster nicht fokussiert ist. Bei richtiger Verwendung hat GetAsyncKeyState für mich immer funktioniert – Theocracy
Wenn Sie einen (globalen) Hotkey benötigen, verwenden Sie das richtige Tool für den Job: [RegisterHotKey] (https://msdn.microsoft.com/en-us/library/windows/desktop /ms646309.aspx). – IInspectable