SendInput到远程桌面

时间:2013-04-30 00:59:51

标签: c++ remote-desktop sendinput

我正在尝试调试一个将密钥发送到远程桌面应用程序中的程序的函数。除了尝试发送句点(“。”)键之外,该功能在发送键时没有问题。以下是工作代码的示例:

void PlayKeyboardEvent(int vkey, int bscan)
{
    INPUT input[4];
    int num_input = 0;

    // key down
    input[num_input].type = INPUT_KEYBOARD;
    input[num_input].ki.wVk = vkey;
    input[num_input].ki.wScan = MapVirtualKey( VkKeyScan(vkey) & 0xFF, MAPVK_VK_TO_VSC);
    input[num_input].ki.dwFlags = 0;
    input[num_input].ki.time = 0;
    input[num_input].ki.dwExtraInfo = NULL;
    num_input++;

    SendInput(num_input, input, sizeof(INPUT));

    // reset for the key up
    num_input = 0;

    // key up
    input[num_input].type = INPUT_KEYBOARD;
    input[num_input].ki.wVk = vkey;
    input[num_input].ki.wScan = MapVirtualKey( VkKeyScan(vkey) & 0xFF, MAPVK_VK_TO_VSC);;
    input[num_input].ki.dwFlags = KEYEVENTF_KEYUP;
    input[num_input].ki.time = 0;
    input[num_input].ki.dwExtraInfo = NULL;
    num_input++;

    SendInput(num_input, input, sizeof(INPUT));

}

0 个答案:

没有答案