EDIT: einige Änderungen nach Rodrigo Antwort in Kommentaren.
INPUT Input = { 0 };
// shift key down
Input.type = INPUT_KEYBOARD;
Input.ki.wVk = VK_LSHIFT;
SendInput(1, &Input, sizeof(INPUT));
// 'a' key down
Input.type = INPUT_KEYBOARD;
Input.ki.wVk = 'A';
SendInput(1, &Input, sizeof(INPUT));
// 'a' key release
Input.type = INPUT_KEYBOARD;
Input.ki.dwFlags = KEYEVENTF_KEYUP;
Input.ki.wVk = 'A';
SendInput(1, &Input, sizeof(INPUT));
// shift key release
Input.type = INPUT_KEYBOARD;
Input.ki.dwFlags = KEYEVENTF_KEYUP;
Input.ki.wVk = VK_LSHIFT;
SendInput(1, &Input, sizeof(INPUT));
EDIT: Hier ist ein weiterer Code mit einem Beispiel Kappe von Dreh-/shift ab, nachdem Brief zu senden:
INPUT Event = { 0 };
const SHORT key = VkKeyScan('a');
const UINT mappedKey = MapVirtualKey(LOBYTE(key), 0);
// Press shift key
Event.type = INPUT_KEYBOARD;
Event.ki.dwFlags = KEYEVENTF_SCANCODE;
Event.ki.wScan = MapVirtualKey(VK_LSHIFT, 0);
SendInput(1, &Event, sizeof(Event));
// upper case 'A'
Event.type = INPUT_KEYBOARD;
Event.ki.dwFlags = KEYEVENTF_SCANCODE;
Event.ki.wScan = mappedKey;
SendInput(1, &Event, sizeof(Event));
// release upper case 'A'
Event.type = INPUT_KEYBOARD;
Event.ki.dwFlags = KEYEVENTF_SCANCODE | KEYEVENTF_KEYUP;
Event.ki.wScan = mappedKey;
SendInput(1, &Event, sizeof(Event));
// Release shift key
Event.type = INPUT_KEYBOARD;
Event.ki.dwFlags = KEYEVENTF_SCANCODE | KEYEVENTF_KEYUP;
Event.ki.wScan = MapVirtualKey(VK_LSHIFT, 0);
SendInput(1, &Event, sizeof(Event));
const SHORT key1 = VkKeyScan('A');
const UINT mappedKey1 = MapVirtualKey(LOBYTE(key1), 0);
// lower case 'a'
Event.type = INPUT_KEYBOARD;
Event.ki.dwFlags = KEYEVENTF_SCANCODE;
Event.ki.wScan = mappedKey1;
SendInput(1, &Event, sizeof(Event));
// release lower case 'a'
Event.type = INPUT_KEYBOARD;
Event.ki.dwFlags = KEYEVENTF_SCANCODE | KEYEVENTF_KEYUP;
Event.ki.wScan = mappedKey1;
SendInput(1, &Event, sizeof(Event));
Erklärung hier (ich hoffe, dass die Erklärung richtig ist): SendInput() for keyboard - only uppercase
Sie haben um zu simulieren, eine Shift-Taste zu halten, genau wie beim Tippen – Shenaniganz
Wie Shenaniganz angedeutet hat, simulieren Sie einen Tastendruck. Haben Sie eine Großbuchstaben-Taste "A" und eine "A" -Taste auf Ihrer Tastatur? – TheZ
'INPUT' Typ enthält eine name Union Einheit, also sollten Sie nicht 'mi' und' ki' Elemente der gleichen Variablen zuweisen. – rodrigo