C#(.Net) 配合WQL實現並口讀寫

來源:互聯網
上載者:User

最近做開發,要對POS印表機就進行編程,說白了,也就是一個連接埠讀寫,再根據印表機說明實現幾個 POS指令就OK了,但是遇到了一個困難的問題,因為是無人系統,一個印表機列印客戶單據,一個列印曆 史單據,這個還不是最要命的,最要命的是一個是串口的,一個是並口的,對於串口還好辦,因為.Net裡 有現成的SerialPort類,可是並口就難了。

搜了一下網上的資料,不外乎兩種方法。

第一種是用win32 API來實現。見

http://support.microsoft.com/kb/823179/zh-cn

另一種方式是用第三方的動態串連庫inpout32.dll

http://www.codeproject.com/KB/vb/Inpout32_read.aspx

兩種方式,各有優劣。

如果用win32 API的話,操作固然方便,但是有一個死穴,就是無法讀並口的資料。

如果用inpout32呢,到是能讀能寫,但是並口的地址(0x378,0x379,0x37a)並不是一個固定值。

參見文檔

http://www.cnblogs.com/thunderdanky/articles/795010.html

但是客戶要求能即時檢測印表機狀態 。。 這個問題可是難住了一天。

怎麼辦?讓客戶自己到裝置管理員裡去找並口基址?MS有點太土了。

後來看了一些資料,突然發現WQL好像可以實現尋找串口基址的功能,實驗了一下,還真實現了,嘿嘿

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.