SendKeys 替代方案?

问题描述 投票:0回答:1

我创建了一个键盘应用程序,它位于顶部,但不获取焦点,以便在触摸屏上它将通过 SendKeys 将您按下的任何键转发到活动应用程序。

它与我尝试过的每一个应用程序都能完美配合...当然,除了我真正需要它使用的销售点应用程序。 POS 应用程序允许用户在键盘上输入商品代码,但它没有适合触摸屏的良好键盘,因此我尝试为其创建一个外部键盘(因为我无权访问 POS 应用程序)代码)。

当你第一次尝试时,它实际上确实有效,但之后就变得非常零星了。直接使用键盘总是有效的,所以我不确定为什么 SendKeys 仅有时与此应用程序一起使用。我尝试了多种实现方式...按下按键时发送按键,当用户按下键盘上的 Enter 按钮时发送按键,将按键复制到剪贴板,然后使用发送按键执行 Ctl-V然后输入。

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

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

c# sendkeys keyhook
1个回答
4
投票

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

超级容易使用,而且比 SendKeys 好得多。作为奖励,除了让您模拟输入之外,它还可以让您设置低级别键盘/鼠标挂钩。

编辑:看起来链接已失效,但您仍然可以通过 Wayback Machine 下载它:http://web.archive.org/web/20210701155638/https://codeplexarchive.blob.core.windows.net/archive /projects/inputsimulator/inputsimulator.zip

SubqueryCrunch 分享了另一种选择:https://github.com/dbremner/inputsimulator/tree/master

© www.soinside.com 2019 - 2024. All rights reserved.