USB介面ID卡讀卡器oem軟體/讀寫卡測試程式及原始碼/VB原始碼
詳細程式碼如下(如有疑問可13826029618進行相關提問並解答)
'廣州榮士電子,,定製13826029618 地址:--www.icmcu.com
'讀卡函式宣告
Private Declare Function idr_read Lib "OUR_IDR.dll" (ByVal serial As Long) As Byte
'讀卡函式宣告,僅讀一次,重新取放卡才能讀到第二次
Private Declare Function idr_read_once Lib "OUR_IDR.dll" (ByVal serial As Long) As Byte
'讓裝置發出聲響函式宣告
Private Declare Function idr_beep Lib "OUR_IDR.dll" (ByVal xms As Long) As Byte
'讀取裝置編號函式宣告
Private Declare Function pcdgetdevicenumber Lib "OUR_IDR.dll" (ByVal devicenumber As Long) As Byte
Private Sub Command1_Click()
'輕鬆讀卡
'技術支援:
'網站:
Dim status As Byte '存放返回值
Dim idserial(0 To 4) As Byte '//卡資料緩衝
status = idr_read(VarPtr(idserial(0)))
'//在下面設定斷點,然後檢視idserial
'//開發人員根據自己的需要處理idserial中的資料了。
'//處理返回函式
Select Case status
Case 0:
MsgBox ("讀卡成功,卡號為" + Hex(idserial(0)) + "-" + Hex(idserial(1)) + "-" + Hex(idserial(2)) + "-" + Hex(idserial(3)) + "-" + Hex(idserial(4)))
Case 8:
MsgBox "請將卡放在感應區"
Case 23:
MsgBox "機器沒連上,或驅動程式未安裝!"
Case Else
MsgBox "異常"
End Select
' //返回解釋
'
' #define ERR_REQUEST 8//尋不到卡
'
' #define ERR_NONEDLL 21//沒有動態庫
' #define ERR_DRIVERORDLL 22//動態庫或驅動程式異常
' #define ERR_DRIVERNULL 23//驅動程式錯誤或尚未安裝
' #define ERR_TIMEOUT 24//操作超時,一般是動態庫沒有反映
' #define ERR_TXSIZE 25//傳送字數不夠
' #define ERR_TXCRC 26//傳送的CRC錯
' #define ERR_RXSIZE 27//接收的字數不夠
' #define ERR_RXCRC 28//接收的CRC錯
End Sub
Private Sub Command2_Click()
'輕鬆讀卡
'技術支援:
'網站:
Dim status As Byte '存放返回值
Dim idserial(0 To 4) As Byte '//卡資料緩衝
status = idr_read_once(VarPtr(idserial(0)))
'//在下面設定斷點,然後檢視idserial
'//開發人員根據自己的需要處理idserial中的資料了。
'//處理返回函式
Select Case status
Case 0:
MsgBox ("讀卡成功,卡號為" + Hex(idserial(0)) + "-" + Hex(idserial(1)) + "-" + Hex(idserial(2)) + "-" + Hex(idserial(3)) + "-" + Hex(idserial(4)))
Case 8:
MsgBox "請將卡放在感應區"
Case 23:
MsgBox "機器沒連上,或驅動程式未安裝!"
Case Else
MsgBox "異常"
End Select
' //返回解釋
'
' #define ERR_REQUEST 8//尋不到卡
'
' #define ERR_NONEDLL 21//沒有動態庫
' #define ERR_DRIVERORDLL 22//動態庫或驅動程式異常
' #define ERR_DRIVERNULL 23//驅動程式錯誤或尚未安裝
' #define ERR_TIMEOUT 24//操作超時,一般是動態庫沒有反映
' #define ERR_TXSIZE 25//傳送字數不夠
' #define ERR_TXCRC 26//傳送的CRC錯
' #define ERR_RXSIZE 27//接收的字數不夠
' #define ERR_RXCRC 28//接收的CRC錯
End Sub
Private Sub Command4_Click()
'讓裝置發出聲音
'技術支援:
'網站:
idr_beep 50
End Sub
Private Sub Command5_Click()
'讀取裝置編號,可做為軟體加密狗用,也可以根據此編號在公司網站上查詢保修期限
'技術支援:
'網站:
Dim devno(0 To 3) As Byte '裝置編號
status = pcdgetdevicenumber(VarPtr(devno(0)))
If pcdgetdevicenumber(VarPtr(devno(0))) = 0 Then
MsgBox Hex(devno(0)) + "-" + Hex(devno(1)) + "-" + Hex(devno(2)) + "-" + Hex(devno(3))
End If
'返回解釋
'#define ERR_REQUEST 8'尋卡錯誤
'#define ERR_READSERIAL 9'讀序列嗎錯誤
'#define ERR_SELECTCARD 10'選卡錯誤
'#define ERR_LOADKEY 11'裝載密碼錯誤
'#define ERR_AUTHKEY 12'密碼認證錯誤
'#define ERR_READ 13'讀卡錯誤
'#define ERR_WRITE 14'寫卡錯誤
'#define ERR_NONEDLL 21'沒有動態庫
'#define ERR_DRIVERORDLL 22'動態庫或驅動程式異常
'#define ERR_DRIVERNULL 23'驅動程式錯誤或尚未安裝
'#define ERR_TIMEOUT 24'操作超時,一般是動態庫沒有反映
'#define ERR_TXSIZE 25'傳送字數不夠
'#define ERR_TXCRC 26'傳送的CRC錯
'#define ERR_RXSIZE 27'接收的字數不夠
'#define ERR_RXCRC 28'接收的CRC錯
End Sub