2011-04-28 138 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