Wie generiere ich eine Tastenanschlag -Kombination in der Win32 -API?
-
24-10-2019 - |
Frage
Ich habe diesen Code, der das Drücken der Fenstertaste simuliert. Aber wie würde ich es schaffen, das Fenster+D -Taste zu drücken und im Wesentlichen den Desktop anzuzeigen?
void ShowDesktop(void)
{
// Simulate a key press
keybd_event( VK_LWIN,
0x5B,
KEYEVENTF_EXTENDEDKEY | 0,
0 );
// Simulate a key release
keybd_event( VK_LWIN,
0x5B,
KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,
0);
}
Lösung
Sie müssen anrufen keybd_event
Funktion mit dem virtuellen Schlüsselwert und dem Hardware -Scan -Code für den D Schlüssel, um diesen Wert zu erhalten, können Sie die verwenden MapVirtualKey
Funktion.
Probieren Sie diese Probe aus.
//simulate the Win key press
keybd_event(VK_LWIN, 0x5B, 0, 0);
//simulate the 'D' key press,the 0x44 is the Virtual key value for the 'D' key, the 0x20 vaue is the hardware scan code for the 'D' key
keybd_event(0x44, 0x20, 0, 0);
//simulate the 'D' key release
keybd_event(0x44, 0x20, KEYEVENTF_KEYUP, 0);
//simulate the Win key release
keybd_event(VK_LWIN, 0x5B, KEYEVENTF_KEYUP, 0);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow