编写Windows驱动程序用于仿真输入设备(Writing a windows driver for

2019-08-04 07:25发布

我的应用程序需要表现为虚拟操纵杆(想象拖动方用鼠标和翻译,为的模拟操纵杆的输出),并通过网络发送一些键击到另一台计算机,其中驾驶员将接收该输入。

我只需要支持XP,Vista和Win7。

也许它可以在不编写驱动程序来完成。 我试着发送按键与SendKey()这似乎工作,但不知道如何来仿真模拟操纵杆。

我已经下载了VDK和被阅读所有我能找到关于这个问题,但也有很多事情我还是不明白。 能否请你点我在正确的方向?

  1. 我应该建立一个内核模式或用户模式驱动程序?
  2. 可我的驾驶行为,作为网络上的应用程序的服务器?
  3. 你知道好的教程/书籍/样品,可以帮助我与此有关。

谢谢

Answer 1:

首先,你必须有某种接口的电脑(或网络)和被控制的操纵杆装置之间。

如果涉及制作定制的硬件来控制模拟游戏杆(就像它控制气动或液压装置或东西,而不仅仅是一个PC游戏操纵杆式的东西),然后是,你几乎肯定会需要一个驱动程序,使网络应用程序移动(在机器人手臂,或其他)将移动该操纵杆。

如果你能够从等式中删除物理摇杆,也许你可以写一个模拟的任何地方使用操纵杆插入(操纵杆/串口?)输入,或完全模拟其软件(一个相当简单的驱动程序可以做这个)。 你可以完全做到这一点无需编写驱动程序,如果操纵杆使用的标准通信接口(如RS232),因为图书馆存在将处理这一切,你可以设置虚拟COM端口,这将是难以区分无论你是要与通信。

你可以在瞬间对驱动程序开发买到的最好的书是开发与Windows驱动程序基础驱动程序

rootkit的:颠覆Windows内核是另一个伟大的书,但没有涉及到了很多新的东西WDF。 它具有更安全的重点,但对具有完全spoonfed例子设备驱动程序,有几个真棒章节将它分解在一个非常方便的方式。



Answer 2:

如果仅仅是在网络上,可能是简单的socket编程应该够了。



文章来源: Writing a windows driver for an emulated input device