VS编程中,有些程序不支持WM_PASTE消息(如word),只能模拟键盘实现粘贴操作。
Windows系统下粘贴的快捷键有2个:Ctrl+V或者SHIFT+INSERT,参考代码如下:
{
INPUT inputs[4];
memset(inputs, 0, sizeof(inputs));
inputs[0].type = INPUT_KEYBOARD;
inputs[0].ki.wVk = VK_CONTROL; //VK_SHIFT
inputs[0].ki.wScan = 0x1d; //0x2A
inputs[0].ki.dwFlags = 0; //KEYDOWN flag
inputs[1].type = INPUT_KEYBOARD;
inputs[1].ki.wVk = 'V'; //VK_INSERT
inputs[1].ki.wScan = 0x2f; //0x52
inputs[1].ki.dwFlags = 0; //KEYDOWN flag
inputs[2].type = INPUT_KEYBOARD;
inputs[2].ki.wVk = 'V'; //VK_INSERT
inputs[2].ki.wScan = 0x2f; //0x52
inputs[2].ki.dwFlags = KEYEVENTF_KEYUP;
inputs[3].type = INPUT_KEYBOARD;
inputs[3].ki.wVk = VK_CONTROL; //VK_SHIFT
inputs[3].ki.wScan = 0x1d; //0x2A
inputs[3].ki.dwFlags = KEYEVENTF_KEYUP;
SendInput(4, inputs, sizeof(INPUT));
}