c# - SendKeys 替代品?

标签 c# sendkeys keyhook

我创建了一个键盘应用程序,它保持在顶部,但不获取焦点,因此在触摸屏上它会通过 SendKeys 将您按下的任何键转发到事件应用程序。

它与我尝试过的每个应用程序都完美配合……当然,除了我实际需要它使用的那个是销售点应用程序。 POS 应用程序允许用户在键盘上输入商品代码,但它没有适合触摸屏的键盘,所以这就是为什么我要为其创建一个外部键盘(因为我无权访问 POS 应用程序代码)。

当您第一次尝试时,它确实有效,但后来就很零星了。直接使用键盘总是有效,所以我不确定为什么 SendKeys 有时只适用于此应用程序。我已经尝试过几种实现方式...在按下键时发送键,在用户按下键盘上的回车按钮时将它们一起发送,将键复制到剪贴板,然后使用发送键执行 Ctl-V然后输入。

我还有哪些其他选项可以模拟另一个应用程序的按键操作? SendKeys 似乎不能完美地模拟按键,那么是否有我可以利用的较低级别的机制?

我应该提一下,当它不起作用时,我会从 POS 应用程序中听到哔哔声,就好像我按下了一个无效键一样。所以这并不是说它没有得到某种输入,但显然它没有得到我发送的 key ,就像从实际键盘发送的一样。

最佳答案

我找到了这个 Windows 输入模拟器:https://inputsimulator.codeplex.com/

super 好用,而且比 SendKeys 好很多。作为奖励,除了让您模拟输入之外,它还可以让您设置低级键盘/鼠标 Hook 。

关于c# - SendKeys 替代品?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28664966/

相关文章:

python - ElementNotVisibleException : Python + Selenium, Web 上的登录凭据

c++ - 为什么我的低级 Windows 键 Hook 停止工作?

c# - asp.net 5.0 preview - web api template - 为什么没有认证

c# - 字符串格式检查给出意外结果(正则表达式)

c# - 当我使用设计器向表单添加新控件时,如何阻止 visual studio 更改 WPF 表单中控件的属性?

c# - C# 中的全局 Keyhook

c# - 在 C# 中覆盖具有许多属性的类的等于

c++ - 如何使用 C++ 和 Windows API 将击键/消息发送到 Windows 7?

vba - 尝试发送到 Excel 加载项时 Excel VBA SendKeys 不起作用