2011-04-28 69 views
2

我不知道如果我理解正确的话......书写设备驱动程序?

说,如果我要控制我的鼠标的工作,即左键打开的窗口中,右按键发送击键“A”等

但我不谈到应用程序就像书面方式如下一些:

void MouseDown(xxxxEventArgs e, sender object) 
{ 

} 

我想完全控制设备如何工作,那么我需要为它编写驱动程序?从我之前在汇编中学到的东西,控制设备,我应该知道他们的端口与设备通信。但是,如果我购买了罗技鼠标,是否可以自己编写鼠标驱动程序来使用它?

因为我看到一些项目,他们从商店购买一个USB网络摄像头,他们可以控制网络来旋转,从网络摄像头接收图像,我想知道这是因为网络摄像头提供API他们?

在此先感谢。

+0

这是可能的,但我会想象不平凡。 – forsvarir 2011-04-28 14:58:11

回答

3

如果你想控制整个设备,那么你需要写一个设备驱动程序。这是一项不平凡的任务,你应该阅读它。有一个教程here和那里的Windows驱动程序开发here的书。

如果你想编写设备驱动程序,你应该非常精通C和/或C++。

0

你不需要为你想要做的事情写一个设备驱动程序。设备驱动程序除了根据寄存器设备地址的数据表,它可以读,写,做IOMMU等或某些东西其他的东西。你将需要的是某种破解你试图实现的东西的应用程序编程部分。

由于设备驱动程序代码只是从设备读取数据并回写,所以它是关注它的应用程序。尽管在某些情况下设备驱动程序员为应用程序员提供了一种方法(函数),以便他们可以编写他们的应用程序并调用这些方法。在您的情况下,您只需了解应用程序代码如何与设备驱动程序交谈。 如果你想写一个设备驱动程序检查这 http://www.freesoftwaremagazine.com/articles/drivers_linux?page=0%2C0