马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
如题,Windows下怎么向指定的其他窗口发送组合键 比如 Ctrl + C Ctrl + V 等等
试了很多方法 csdn上的那些什么 SendMessage 最后个参数的29位置1啊 28位置1啊
什么Spy++抓取消息 然后模拟消息中间发送个 字符啊 之类的都试过,通通不行
目前的实现方法是 系统键 使用keybd_event,字符键使用SendMessage
但是这种方法有个很严重的问题,有可能会影响鼠标键盘的操作
给出现在的实现// 发送窗口激活消息 --> 假激活窗口
::SendMessage(hwnd, WM_ACTIVATE, WA_ACTIVE, 0);
Sleep(1);
// 按下组合键
keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, 0), 0, 0);
::SendMessage(hwnd, WM_KEYDOWN, 'V', 0);
Sleep(1);
::SendMessage(hwnd, WM_KEYUP, 'V', 0);
keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, 0), KEYEVENTF_KEYUP, 0);
这里Sleep(1) 是为了尽量减少影响实际键盘按键的可能
跪求大神给我个可行的方法 |