Я использую 64-битную Windows 7 Ultimate. Эту функцию я наткнулся на онлайн и использовал раньше без проблем, но теперь у меня проблема. Независимо от того, какого персонажа я ему отправлю, он просто отправит прямую косую черту / .
Вот функция:
void GenerateKey(int vk, BOOL bExtended)
{
KEYBDINPUT kb = {0};
INPUT Input = {0};
/* Generate a "key down" */
if (bExtended) { kb.dwFlags = KEYEVENTF_EXTENDEDKEY; }
kb.wVk = vk;
Input.type = INPUT_KEYBOARD;
Input.ki = kb;
SendInput(1, &Input, sizeof(Input));
/* Generate a "key up" */
ZeroMemory(&kb, sizeof(KEYBDINPUT));
ZeroMemory(&Input, sizeof(INPUT));
kb.dwFlags = KEYEVENTF_KEYUP;
if (bExtended) { kb.dwFlags |= KEYEVENTF_EXTENDEDKEY; }
kb.wVk = vk;
Input.type = INPUT_KEYBOARD;
Input.ki = kb;
SendInput(1, &Input, sizeof(Input));
return;
}
Вот как я это называю:
GenerateKey ('x', FALSE);
Однако вместо x я получаю / . Кто-нибудь может увидеть, что идет не так?
Я использую Visual Studio 2008.