gpt4 book ai didi

windows - 为模拟输入设备编写 Windows 驱动程序

转载 作者:可可西里 更新时间:2023-11-01 12:40:14 24 4
gpt4 key购买 nike

我的应用程序需要充当虚拟操纵杆(想象一下用鼠标拖动一个正方形并将其转换为模拟操纵杆的输出)并通过网络将一些击键发送到驱动程序将接收该输入的另一台计算机。

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

也许不用写驱动也能搞定。我尝试使用 SendKey() 发送击键,这似乎有效,但不知道如何模拟模拟操纵杆。

我已经下载了 VDK 并阅读了所有我能找到的有关该主题的内容,但仍有很多我不明白的地方。你能给我指出正确的方向吗?

  1. 我应该构建内核模式还是用户模式驱动程序?
  2. 我的驱动程序可以充当网络上应用程序的服务器吗?
  3. 你知道可以帮助我解决这个问题的好教程/书籍/示例吗?

谢谢

最佳答案

首先,您的计算机(或网络)和被控制的操纵杆设备之间必须有某种接口(interface)。

如果它涉及制作自定义硬件来控制模拟操纵杆(比如它控制气动或液压或其他东西,而不仅仅是 PC 游戏操纵杆类型的东西),那么是的,你几乎肯定需要一个驱动程序来允许网络应用程序移动(机器人 ARM ,或其他)将移动操纵杆。

如果你能够从等式中移除物理操纵杆,也许你可以编写软件来模拟操纵杆用于插入的任何地方的输入(操纵杆/串行端口?),或者完全模拟它(一个相当简单的司机可以做到这一点)。如果操纵杆使用标准通信接口(interface)(如 RS232),您完全可以在不编写驱动程序的情况下完成它,因为存在可以处理所有这些的库,并且您可以设置虚拟 COM 端口,这些端口与您尝试与之通信的任何东西都无法区分。

目前你能买到的关于驱动程序开发的最好的书是Developing Drivers with the Windows Driver Foundation

Rootkits: Subverting the Windows Kernel是另一本好书,但没有涵盖很多较新的 WDF 内容。它更侧重于安全性,但也有一些关于设备驱动程序的精彩章节,并提供了完整的示例,以一种真正易于理解的方式对其进行了分解。

关于windows - 为模拟输入设备编写 Windows 驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1394260/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com