2
工作我使用下列標準GenerateKey代碼:SendInput不爲遊戲
void GenerateKey (int vk , BOOL bExtended)
{
KEYBDINPUT kb={0};
INPUT Input={0};
// generate down
if (bExtended)
kb.dwFlags = KEYEVENTF_EXTENDEDKEY;
kb.wVk = vk;
Input.type = INPUT_KEYBOARD;
Input.ki = kb;
::SendInput(1,&Input,sizeof(Input));
// generate 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));
}
我調用這個函數來模擬方向鍵(上,下,左,右)。但是,這在正常的資源管理器窗口和小型Flash遊戲中可用。然而,當我在極品飛車或Roadrash等遊戲上嘗試它時,它不起作用。這種行爲的任何可能的原因是什麼?