Dat is dus een gecompliceerder voorbeeld van keybd_event(). Standaard ziet die functie er zo uit:
[cpp]
keybd_event(<Virtual key code als BYTE,>,
<Hardware scan code als BYTE>,
<Extra parameters als DWORD>,
<Optionele waarde meestal, 0>)
[/cpp]
Een simpel voorbeeld dat de letter a afdrukt:
[cpp]
BYTE letter = VK_KEY_A;
BYTE code = 41;
keybd_event(
letter,
code,
KEYEVENTF_EXTENDEDKEY,
0);
keybd_event(
letter,
code,
KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,
0);
[/cpp]
De corresponderende waarden voor letter (in dit geval VK_KEY_A) en code (41) kun je hier vinden:
http://www.kbdedit.com/manual/low_level_vk_list.html
Voor een leuk 'typend' effect kun je een loop gebruiken, bijvoorbeeld:
[cpp]
void sendkeys()
{
BYTE TextToSend[] = {0x44, 0x49, 0x54, 0x20, 0x49, 0x53, 0x20, 0x45, 0x45, 0x4E, 0x20, 0x54, 0x45, 0x53, 0x54, 0x20, 0x4C, 0x41, 0x57, 0x4C, VK_RETURN};
int i;
for(i=0; i<21; i++)
{
keybd_event(
TextToSend
,
TextToSend,
KEYEVENTF_EXTENDEDKEY,
0);
keybd_event(
TextToSend,
TextToSend,
KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,
0);
Sleep(30);
}
}
[/cpp]