程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#(.Net) 配合WQL實現並口讀寫(1)

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

編輯:關於C語言
近做開發,要對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好像可以實現查找串口基址的功能,實驗了一下,還真實現了,嘿嘿

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved