c++ - 如何使用 winapi c++ 发送 shift+down?
问题描述
使用以下代码
Sleep(3000);
keybd_event(VK_SHIFT, 0, 0, 0);
keybd_event(VK_DOWN, 0, 0, 0);
keybd_event(VK_DOWN, 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);
如果我在睡眠期间将光标放在编辑器中,我希望窗口选择一行文本(因此它是前景窗口)
然而,这只是将光标向下移动一行。
使用以下作品,但肯定这不是它应该做的方式。
Sleep(3000);
keybd_event(VK_SHIFT, 0, KEYEVENTF_EXTENDEDKEY, 0);
keybd_event(VK_DOWN, 0, 0, 0);
keybd_event(VK_DOWN, 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP | KEYEVENTF_EXTENDEDKEY, 0);
keybd_event(VK_SHIFT, 0, 0, 0);
keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);
它通过使用 KEYEVENTF_EXTENDEDKEY 标志出现,我可以按住它作为箭头键。但无论我如何尝试释放它都不起作用。但我可以正常按下并释放它以清除按住的 shift 键。
解决方案
推荐阅读
- ios - 是否可以在 iOS webview (Angular 7) 上访问相机
- java - LazyInitializationException - 无法初始化代理 - 没有会话
- php - PHP/Symfony:为什么 TwigExtension 注入的服务实例与控制器不同?
- java - 在Java中删除双向链表中的节点
- bash - 无法检查 pkill 命令是否成功
- php - 如何加入来自 2 个不同数据库的 2 个集合?
- entity-framework - 如何通过 Entity Framework 和 JetEntityFrameworkProvider 连接 Access (*. Accdb)?
- c# - LINQ 按多个属性分组并创建字典
- python - 错误:“期望用双引号括起来的属性名称:第 2 行第 1 列(字符 2)”
- java - 将 exoplayer 2.8.4 迁移到 2.9.0