2009-10-23 104 views
0

我正在尝试编写一个远程控制应用程序,该应用程序应允许用户使用无线设备控制电脑。应该可以使用该设备作为游戏控制器。我有建议创建一个虚拟设备,但我找不到任何有关如何做到这一点的信息。 在Java或.Net中我需要做些什么?Windows中的虚拟设备

回答

1

这将是艰难的。 “虚拟设备”的概念是大多数操作系统不直接与硬件通话。他们与设备驱动程序交谈。 “虚拟设备”描述了设备驱动程序声称存在硬件时发生的情况,但没有一个硬件存在。

现在,您实际上并不需要虚拟设备。你有真正的硬件。您可以编写一个真实设备驱动程序的一个真实设备。您需要UMDF(用户模式驱动程序框架),它为设备驱动程序定义了COM接口,并编写实现该COM接口的.NET应用程序。

+0

他可能需要一个虚拟设备。真正的设备是无线的。除非他在个人电脑中有特定的硬件,否则只需要这个无线设备就需要成为虚拟设备驱动程序。 – Foxfire 2009-10-23 10:46:41

+0

实际上很难说。蓝牙鼠标的鼠标驱动程序是虚拟设备驱动程序吗?我会说不。鼠标绝对需要鼠标驱动程序;蓝牙驱动程序不起作用。无论如何,前提是错误的:设备驱动程序几乎总是使用分层模型,在这种情况下,下层驱动程序不需要仅响应一个设备。例如。 USB总线驱动程序。 – MSalters 2009-10-23 11:38:21

1

我想你是在谈论一个虚拟设备驱动程序。

有了Java,绝对没有办法做到这一点。有人猜测在UMDF(用户模式驱动框架)中可能使用.Net来开发它,但我从未看到任何具体的方法。所以这可能是纯粹的学术。

所以答案可能是你没有可能用C#或Java开发它。

User Mode Driver Framework (likely best suited for developing a virtual device driver as you seem to want) home at Microsoft

如果设备本身是可编程的(游戏CONTROLER最有可能不是),你可以使用标准的网络方法的设备和计算机之间的接口。在这种情况下,使用.Net或Java应该不成问题。