问题标签 [sendinput]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - SendInput ExtraInfo / 标志
我正在尝试将 SendInput api 用于热键应用程序。所以我正在做的是拥有一个全局键钩,当一些键组合命中时,我想发送另一个键。
我的问题是,当我发送模拟密钥时,我的钩子会收到该消息,最终会出现递归循环。
因此,我尝试使用 ExtraInfo / Flags,但由于某种原因,我设置的值与我在挂钩中收到的值不同。
无论我在 ExtraInfo / Flags 上设置什么......当我在我的钩子中收到消息时它都会重置:
我正在使用低级键盘挂钩,“WH_KEYBOARD_LL”,设置如下:
其他人有类似的问题,可以帮助我吗?任何工作代码示例都会很棒:)
c# - 将鼠标移动到位置并左键单击
我正在使用 C#、Framework 4(32 位)开发 Windows 窗体应用程序。
我有一个包含鼠标坐标的列表,我可以捕获它们。到目前为止,一切都很好。
但在某些时候,我想去那些坐标并左键单击它。
这就是它现在的样子:
和 Clicking 类:
但我收到了这个错误:
我真的不明白问题是什么......你们知道问题是什么吗?或者你知道更好的方法来做我想做的事吗?
delphi - 从 Delphi 应用程序发送 WM_COPY。到 Windows 7 中的另一个进程
我有一个 Delphi (BDS 2006) 应用程序,它将击键发送到 QuickBooks 会计软件以遍历 QuickBooks 表单(发票),将文本从当前编辑控件复制到 Windows 剪贴板(以收集数据),根据收集的数据进行一些计算,最后通过发送击键将结果写在表单上。
这个应用程序已经开发了很多年,使用广泛的(至少对我而言)Windows API 技术来识别前景窗口、焦点窗口等,并被全球数十个用户使用......我只告诉你作为它在许多系统上工作的证据。
但不是所有的。最近我收到很多关于 Windows 7 系统的故障报告(QuickBooks 的版本似乎无关紧要)。发送给报告问题的客户的调试版本表明它没有将任何内容复制到剪贴板——尽管它似乎仍然能够执行其他所有操作(发送击键以遍历表单,并击键以粘贴计算结果...不幸的是,现在总是为零,因为没有收集到数据。)
这是我用来向 QuickBooks 中的编辑控制窗口发送 WM_COPY 消息的代码。(在 XP 或 Windows 7 系统上,我们不能让此代码在此处失败 - 但它不适用于多个用户。)
不想消耗我们向其发送调试版本的最终用户的耐心,我正在寻找想法,然后再发送任何其他内容供他们尝试/测试......
注释/问题:
所有其他击键都是通过 SendInput 发送的,它们工作正常。我相信我们出于速度原因开始使用 SendMessageTimeout(WM_COPY) 而不是发送 Ctrl-C 作为击键 - 它允许我们在返回时立即访问剪贴板,而不是等待 Ctrl-C 的未知/无限时间由 QuickBooks 处理。
我相信我们已经要求用户在我们的应用程序上尝试 RunAs...Administrator,但这没有任何效果(我必须验证是否已完成)。
我想知道问题是否可能是由于 UAC 冲突引起的?我们的应用程序目前没有数字签名,也没有使用清单。我一直在阅读有关在其中添加带有 UIAccess=True 的清单的信息。但是,如果我们的应用程序已经可以毫无问题地向 QuickBooks 发送击键,那么设置 UIAccess=True 对允许 SendMessageTimeout() 成功有什么影响吗?我需要使用数字证书吗?让 UIAccess 设置有什么效果?
如果在清单中没有数字签名和 UIAccess 的情况下 SendMessage 将无法工作,我们是否可以退回到发送 Ctrl-C 作为击键?(我不这么认为;微软肯定不会允许围绕安全概念进行最终运行。)
我很感激任何评论以理清我的想法......
excel - SendInput VB 基本示例
我希望有人可以提供帮助,我试图找到一个模拟键盘命令的 SendInput 代码示例,我希望找到记事本窗口并输入测试消息。
我最初在我正在进行的项目中使用了 SendKeys,SendKeys 功能使我能够将键盘命令转发到我们在工作场所使用的定制软件。
我希望有人可以提供帮助,互联网上的示例似乎不起作用。
如果 SendInput 方法具有侵入性,任何人都可以提出建议,即它是否会对收件人窗口造成任何损坏。
SendKey 方法有效,但可靠性似乎很偶然。
非常感谢
萨拉
编辑:
我在网上找到了下面的代码,下面是SendInput的方法吗?我注意到使用了“SendKey”一词?
c++ - 以编程方式按 Win+X、Alt-Tab
我正在尝试在 Windows 8 上模拟 Win+X 的按键事件,该事件应该会弹出一个小菜单,但我无法通过使用 SendInput 使其工作。对于任何其他组合键(例如 Win+R、Win+E、Win+D),它都有效,但不适用于 Win+X。我注意到 Synergy+ 有同样的问题,但 Windows 屏幕键盘没有。我还查看了屏幕键盘使用的 SendInput 参数,但如果我在应用程序中使用完全相同的参数,我仍然无法获得菜单。
所以我的问题是,我该如何让它工作?或者有没有其他方法来显示这个菜单?
c++ - 使用 SendInput API 的最佳实践
我正在开发一个自动化测试库,并希望使用SendInput Win32 API模拟鼠标和键盘输入。此 API 允许在一次 API 调用中推送多个输入项。整个 Web 上还有许多其他示例和类似的库使用 SendInput。他们中的许多人为每次调用 API 传递一个输入操作。批量输入或每次调用 SendInput 使用单个输入是否有任何优势?该文档似乎没有提供指导,或者我误读了它。
c - 在 Direct3D 游戏上重新映射键
我正在尝试重新映射游戏的一些键(Elsword)。
首先,我使用这段代码来模拟按下的键:
在所有其他应用程序中它工作正常,但在游戏窗口中它什么也不做......
c++ - 填充用于 SendInput 的 HARDWAREINPUT 结构的正确方法是什么?
我正在尝试将 WM_KEYDOWN/WM_KEYUP 对发送到通常不响应 KEYBDINPUT 结构的使用的应用程序。我需要发送转义键以及字母数字字符。由于 MSDN 仅提供有关使用硬件结构的模糊信息,我只能假设 uMsg 字段用于保存 WM_KEYDOWN/WM_KEYUP 消息,接下来的两个字段用于 lParam 的 LOWORD 和 HIWORD(由几个位组成定义扫描码,密钥是否“重复”,等等)。
但是在围绕这些值进行了几个小时的调整之后,我完全不知道如何正确模拟硬件击键。我该怎么做才能让它发挥作用?
c# - SendInput 隐藏重复符号(似乎它不执行 KEYUP 事件)
我有将字符输入发送到另一个应用程序的应用程序。一切正常,但如果文本包含重复字符(例如“app”),那么只有一个字母“p”会到达目标窗口。
发送“app”时,我收到“ap”。在网上搜索后,我发现这是因为缺少 KEYUP 事件。但我在下面的代码中肯定有一个。怎么了?
c# - SendInput 在 Windows 8(64 位)中不起作用,但在 Windows 7(32 位)中起作用
我编写了程序以将输入发送到游戏和桌面应用程序,而不是从键盘获取输入。结果如下:
Windows 7(32 位):在游戏和桌面应用程序中完美运行。
Windows 8(64 位):不能在游戏中工作,但在 notepad.exe 中工作。
那么为什么它不适用于win 8?
这是代码: