在硬件级别模拟按键 – Windows

我正在寻找一种语言或图书馆,以便我可以在最大程度上模拟击键,而无需用力按键。

(我对击键程度的具体测量是当我的计算机已经运行了关键监听器(例如MouseKeys和StickyKeys)时,它是否会产生与物理按键相同的输出)。

我尝试过很多键击仿真方法; java AWT库,Java win32api,python win32com sendKeys,python ctypes按键,以及更多用于python和Java的库,但它们都没有模拟与实际硬件足够接近的关键笔划。
(当Windows MouseKeys处于活动状态时,发送冒号,半冒号或小键盘ADD键的键击只会产生这些字符,而物理按键会执行鼠标键单击)

我相信这些方法必须涉及将笔画直接发送到应用程序,而不是仅将它们传递给操作系统。

我认为这些高级(以上操作系统代码)级语言的库不会产生足够的东西。 我担心我可能不得不屈服于某种BIOS编程。

有没有人有任何关于此事的有用信息?
如何在低级语言中模拟按键?
我应该寻找特定于硬件的解决方案(某种富士通硬件API)吗?

我几乎觉得将机器人编程为简单地坐在硬件旁并按下按键会更容易。

谢谢!

第二个解决方案,超级复杂,大量的虚拟化,恶魔般的,完全未经测试,但理论上应该可以工作,除非datasnip程序实际上没有写入键盘缓冲区,而是模拟你一直在尝试的击键。 那会很糟糕,我会发现他们的产品描述极具误导性。

你需要:

还有一些写com端口的知识……看起来这里有一个很好的python模块: http : //pyserial.sourceforge.net/

首先,编写一个小程序,根据需要将字符,hex代码等发送到您选择的COM端口。 其次,使用com0com创建虚拟COM端口对。 此时,将程序连接到创建的一个COM端口,并将数据连接到另一个端口,确保通信的两端使用相同的波特率,奇偶校验和停止位以及数据长度参数。

此时,您应该拥有一个与硬件相同的键盘,就操作系统而言。

我使用这个解决方案http://oblita.com/interception.html它完全满足我的需求(发送键盘直接输入游戏)

你能用MSDN语言吗? 它们相当简单且文档齐全(谷歌搜索比msdn网站更好,通常用于导航)

我发现了这一点,我无法告诉你它是否模拟了与硬件足够接近的击键,但它似乎能够生成其他程序可以识别的击键事件,这就是你的最终目标。

‘Send’和’SendWait’方法似乎是关键的方法。

一帆风顺。

我不是在Windows机器上对MouseKeys进行测试,所以不能保证它能够正常工作,但是你尝试过AutoHotkey吗?