感應式IC卡讀寫器的二次開發完全原代碼_第1頁
感應式IC卡讀寫器的二次開發完全原代碼_第2頁
感應式IC卡讀寫器的二次開發完全原代碼_第3頁
感應式IC卡讀寫器的二次開發完全原代碼_第4頁
感應式IC卡讀寫器的二次開發完全原代碼_第5頁
已閱讀5頁,還剩4頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、¸ÐӦʽIC¿¨¶ÁдÆ÷µÄ¶þ´Î¿ª·¢Íêȫԭ´úÂë/-#include <vcl.h>#pragma hdrstop#include "Unit1.h"/¿ØÖÆ&#

2、215;Ö¶¨Òå#define BLOCK0_EN 0x01#define BLOCK1_EN 0x02#define BLOCK2_EN 0x04#define NEEDSERIAL 0x08#define EXTERNKEY 0x10#define NEEDHALT 0x20/-#pragma package(smart_init)#pragma resource "*.dfm"TForm1 *Form1;/-_fastcall TForm1:TForm1(TComponent* Owner) : TForm(Owne

3、r)/-void _fastcall TForm1:Button1Click(TObject *Sender)/ÇáËɶÁ¿¨/*¼¼ÊõÖ§³Ö£ºÍøÕ¾£º*/ unsigned char status;/´æ·Å·µ»ØÖµ unsigned cha

4、r myareano;/ÇøºÅ unsigned char authmode;/ÃÜÂëÀàÐÍ£¬ÓÃAÃÜÂë»òBÃÜÂë unsigned char myctrlword;/¿ØÖÆ×Ö unsigned char mypicckey6;/ÃÜ

5、94;ë unsigned char mypiccserial4;/¿¨ÐòÁкŠunsigned char mypiccdata48; /¿¨Êý¾Ý»º³å unsigned char (_stdcall *piccreadex)(unsigned char ctrlword,unsigned char *serial,unsigned char area,unsigned char keyA1B0

6、,unsigned char *picckey,unsigned char *piccdata0_2); /Åж϶¯Ì¬¿âÊÇ·ñ´æÔÚ AnsiString FileName=ExtractFilePath(Application->ExeName); if(FileName.SubString(FileName.Length(),1) != "") FileName += &qu

7、ot;" FileName += "OUR_MIFARE.dll" if(!FileExists(FileName) ShowMessage("ÎÞ·¨ÔÚÓ¦ÓóÌÐòµÄÎļþ¼ÐÕÒµ½OUR_MIFARE.dll"); return; /ÌáÈ&#

8、161;º¯Êý HINSTANCE hDll; hDll=LoadLibrary(FileName.c_str(); piccreadex = (unsigned char (_stdcall *)(unsigned char,unsigned char *,unsigned char,unsigned char,unsigned char *,unsigned char *)GetProcAddress(hDll,"piccreadex"); /¿ØÖÆ×ÖÖ&

9、#184;¶¨,¿ØÖÆ×ֵĺ¬ÒåÇë²é¿´±¾¹«Ë¾ÍøÕ¾ÌṩµÄ¶¯Ì¬¿â˵Ã÷ myctrlword = BLOC

10、K0_EN + BLOCK1_EN + BLOCK2_EN + EXTERNKEY; /Ö¸¶¨ÇøºÅ myareano = 8;/Ö¸¶¨ÎªµÚ8Çø /Åú¶¨ÃÜÂëģʽ authmode = 1;/´óÓÚ0±íÊ

11、¾ÓÃAÃÜÂëÈÏÖ¤£¬ÍƼöÓÃAÃÜÂëÈÏÖ¤ /Ö¸¶¨ÃÜÂë mypicckey0 = 0xff; mypicckey1 = 0xff; mypicckey2 = 0xff; mypicckey3 = 0xff; mypicckey

12、4 = 0xff; mypicckey5 = 0xff; status = piccreadex(myctrlword,mypiccserial,myareano,authmode,mypicckey,mypiccdata); /ÔÚÏÂÃæÉ趨¶Ïµã£¬È»ºó²é¿´mypiccserial¡¢mypiccdata£&

13、#172; /µ÷ÓÃÍê piccreadexº¯Êý¿É¶Á³ö¿¨ÐòÁкŵ½ mypiccserial£¬¶Á³ö¿¨Êý¾Ýµ½mypiccdata£¬ /¿

14、;ª·¢ÈËÔ±¸ù¾Ý×Ô¼ºµÄÐèÒª´¦Àímypiccserial¡¢mypiccdata ÖеÄÊý¾ÝÁË¡£ /´¦Àí·µ

15、7;غ¯Êý switch(status) case 0: ShowMessage("²Ù×÷³É¹¦"); break; /. case 8: ShowMessage("Ç뽫¿¨·ÅÔÚ¸ÐÓ¦Çø"); break; /·µ»&#

16、216;½âÊÍ /* #define ERR_REQUEST 8/Ѱ¿¨´íÎó #define ERR_READSERIAL 9/¶ÁÐòÁÐÂð´íÎó #define ERR_SELECTCARD 10/Ñ¡¿¨´íÎó #define ERR_LOADKEY 11/&

17、#215;°ÔØÃÜÂë´íÎó #define ERR_AUTHKEY 12/ÃÜÂëÈÏÖ¤´íÎó #define ERR_READ 13/¶Á¿¨´íÎó #define ERR_WRITE 14/д¿¨´íÎ

18、ó #define ERR_NONEDLL 21/ûÓж¯Ì¬¿â #define ERR_DRIVERORDLL 22/¶¯Ì¬¿â»òÇý¶¯³ÌÐòÒì³£ #define ERR_DRIVERNULL 23/Çý¶¯³Ì

19、;Ðò´íÎó»òÉÐδ°²×° #define ERR_TIMEOUT 24/²Ù×÷³¬Ê±£¬Ò»°ãÊǶ¯Ì¬¿âûÓз´Ó³

20、; #define ERR_TXSIZE 25/·¢ËÍ×ÖÊý²»¹» #define ERR_TXCRC 26/·¢Ë͵ÄCRC´í #define ERR_RXSIZE 27/½ÓÊÕµÄ×ÖÊý²»¹» #define ERR_RXCRC 28/&#

21、189;ÓÊÕµÄCRC´í */ /-void _fastcall TForm1:Button4Click(TObject *Sender)/ÈÃÉ豸·¢³öÉùÒô/*¼¼ÊõÖ§³Ö£ºÍøÕ¾£º*/ unsigned

22、 char (_stdcall *pcdbeep)(unsigned long xms); /Åж϶¯Ì¬¿âÊÇ·ñ´æÔÚ AnsiString FileName=ExtractFilePath(Application->ExeName); if(FileName.SubString(FileName.Length(),1) != "") FileName += "&quo

23、t; FileName += "OUR_MIFARE.dll" if(!FileExists(FileName) ShowMessage("ÎÞ·¨ÔÚÓ¦ÓóÌÐòµÄÎļþ¼ÐÕÒµ½OUR_MIFARE.dll"); return; /ÌáÈ¡

24、86;¯Êý HINSTANCE hDll; hDll=LoadLibrary(FileName.c_str(); pcdbeep = (unsigned char (_stdcall *)(unsigned long)GetProcAddress(hDll,"pcdbeep"); pcdbeep(50); /-void _fastcall TForm1:Button2Click(TObject *Sender)/ÇáËÉд¿¨/*¼¼

25、2;õÖ§³Ö£ºÍøÕ¾£º*/ int i; unsigned char status;/´æ·Å·µ»ØÖµ unsigned char myareano;/ÇøºÅ unsigned char authmode;/ÃÜÂëÀàÐÍ£

26、¬ÓÃAÃÜÂë»òBÃÜÂë unsigned char myctrlword;/¿ØÖÆ×Ö unsigned char mypicckey6;/ÃÜÂë unsigned char mypiccserial4;/¿¨ÐòÁкŠunsigned char mypiccdata48;

27、 /¿¨Êý¾Ý»º³å unsigned char (_stdcall *piccwriteex)(unsigned char ctrlword,unsigned char *serial,unsigned char area,unsigned char keyA1B0,unsigned char *picckey,unsigned char *piccdata0_2); /Åж϶¯Ì¬¿â

28、ÊÇ·ñ´æÔÚ AnsiString FileName=ExtractFilePath(Application->ExeName); if(FileName.SubString(FileName.Length(),1) != "") FileName += "" FileName += "OUR_MIFARE.dll" if(!FileExists(FileName) ShowMessage("ÎÞ·

29、8;ÔÚÓ¦ÓóÌÐòµÄÎļþ¼ÐÕÒµ½OUR_MIFARE.dll"); return; /ÌáÈ¡º¯Êý HINSTANCE hDll; hDll=LoadLibrary(FileName.c_str(); piccwriteex = (unsigned char (_std

30、call *)(unsigned char,unsigned char *,unsigned char,unsigned char,unsigned char *,unsigned char *)GetProcAddress(hDll,"piccwriteex"); /¿ØÖÆ×ÖÖ¸¶¨,¿ØÖÆ×ֵĺ¬ÒåÇë²

31、3;¿´±¾¹«Ë¾ÍøÕ¾ÌṩµÄ¶¯Ì¬¿â˵Ã÷ myctrlword = BLOCK0_EN + BLOCK1_EN + BLOCK2_EN + EXTERNKEY; /Ö¸¶¨ÇøºÅ myareano = 8;/Ö

32、;¸¶¨ÎªµÚ8Çø /Åú¶¨ÃÜÂëģʽ authmode = 1;/´óÓÚ0±íʾÓÃAÃÜÂëÈÏÖ¤£¬ÍƼöÓ

33、95;AÃÜÂëÈÏÖ¤ /Ö¸¶¨ÃÜÂë mypicckey0 = 0xff; mypicckey1 = 0xff; mypicckey2 = 0xff; mypicckey3 = 0xff; mypicckey4 = 0xff; mypicckey5 = 0xff; /Ö¸¶¨¿¨Êý¾Ý for(i = 0;i<48;i+)

34、 mypiccdatai = i; /д¿¨ status = piccwriteex(myctrlword,mypiccserial,myareano,authmode,mypicckey,mypiccdata); /ÔÚÏÂÃæÉ趨¶Ïµã£¬È»ºó²é¿´mypiccserial¡¢m

35、ypiccdata£¬ /µ÷ÓÃÍê piccreadexº¯Êý¿É¶Á³ö¿¨ÐòÁкŵ½ mypiccserial£¬¶Á³ö¿¨Êý¾Ýµ½mypiccdata

36、63;¬ /¿ª·¢ÈËÔ±¸ù¾Ý×Ô¼ºµÄÐèÒª´¦Àímypiccserial¡¢mypiccdata ÖеÄÊý¾ÝÁË¡£ /´¦Àí

37、·µ»Øº¯Êý switch(status) case 0: ShowMessage("²Ù×÷³É¹¦"); break; /. case 8: ShowMessage("Ç뽫¿¨·ÅÔÚ¸ÐÓ¦Çø"); break; /

38、3;µ»Ø½âÊÍ /* #define ERR_REQUEST 8/Ѱ¿¨´íÎó #define ERR_READSERIAL 9/¶ÁÐòÁÐÂð´íÎó #define ERR_SELECTCARD 10/Ñ¡¿¨´íÎó #define

39、ERR_LOADKEY 11/×°ÔØÃÜÂë´íÎó #define ERR_AUTHKEY 12/ÃÜÂëÈÏÖ¤´íÎó #define ERR_READ 13/¶Á¿¨´íÎó #define ERR_WRITE 14/д¿¨&#

40、180;íÎó #define ERR_NONEDLL 21/ûÓж¯Ì¬¿â #define ERR_DRIVERORDLL 22/¶¯Ì¬¿â»òÇý¶¯³ÌÐòÒì³£ #define ERR_DRIVERNULL 23/Çý¶&

41、#175;³ÌÐò´íÎó»òÉÐδ°²×° #define ERR_TIMEOUT 24/²Ù×÷³¬Ê±£¬Ò»°ãÊǶ¯Ì¬¿âûÓз&

42、#180;Ó³ #define ERR_TXSIZE 25/·¢ËÍ×ÖÊý²»¹» #define ERR_TXCRC 26/·¢Ë͵ÄCRC´í #define ERR_RXSIZE 27/½ÓÊÕµÄ×ÖÊý²»¹» #define

43、 ERR_RXCRC 28/½ÓÊÕµÄCRC´í */-void _fastcall TForm1:Button3Click(TObject *Sender)/Ð޸ĵ¥ÇøÃÜÂë/*¼¼ÊõÖ§³Ö£ºÍøÕ¾£º*/ unsign

44、ed char status;/´æ·Å·µ»ØÖµ unsigned char myareano;/ÇøºÅ unsigned char authmode;/ÃÜÂëÀàÐÍ£¬ÓÃAÃÜÂë»òBÃÜÂë unsigned char m

45、yctrlword;/¿ØÖÆ×Ö unsigned char mypiccnewkey6;/ÐÂÃÜÂë unsigned char mypiccserial4;/¿¨ÐòÁкŠunsigned char mypiccoldkey6;/¾ÉÃÜÂë unsigned char (_stdcall *piccchangesinglek

46、ey)(unsigned char ctrlword,unsigned char *serial,unsigned char area,unsigned char keyA1B0,unsigned char *piccoldkey,unsigned char *piccnewkey); /Åж϶¯Ì¬¿âÊÇ·ñ´æÔÚ AnsiString FileName=ExtractFilePath(Applicatio

47、n->ExeName); if(FileName.SubString(FileName.Length(),1) != "") FileName += "" FileName += "OUR_MIFARE.dll" if(!FileExists(FileName) ShowMessage("ÎÞ·¨ÔÚÓ¦ÓóÌÐòµÄÎļ

48、54;¼ÐÕÒµ½OUR_MIFARE.dll"); return; /ÌáÈ¡º¯Êý HINSTANCE hDll; hDll=LoadLibrary(FileName.c_str(); piccchangesinglekey = (unsigned char (_stdcall *)(unsigned char ,unsigned char *,unsigned char ,unsigned char ,unsigned char *,un

49、signed char *)GetProcAddress(hDll,"piccchangesinglekey"); /¿ØÖÆ×ÖÖ¸¶¨,¿ØÖÆ×ֵĺ¬ÒåÇë²é¿´±¾¹«Ë¾ÍøÕ¾&#

50、204;ṩµÄ¶¯Ì¬¿â˵Ã÷ myctrlword = 0; /Ö¸¶¨ÇøºÅ myareano = 8;/Ö¸¶¨ÎªµÚ8Çø /Åú¶¨ÃÜÂëÄ£&#

51、202;½ authmode = 1;/´óÓÚ0±íʾÓÃAÃÜÂëÈÏÖ¤£¬ÍƼöÓÃAÃÜÂëÈÏÖ¤ /Ö¸¶¨¾ÉÃÜÂë mypic

52、coldkey0 = 0xff; mypiccoldkey1 = 0xff; mypiccoldkey2 = 0xff; mypiccoldkey3 = 0xff; mypiccoldkey4 = 0xff; mypiccoldkey5 = 0xff; /Ö¸¶¨ÐÂÃÜÂë,×¢Ò⣺ָ¶¨ÐÂÃÜÂëʱ

53、10;»¶¨Òª¼Çס£¬·ñÔòÓпÉÄÜÕÒ²»»ØÃÜÂ룬µ¼Ö¸ÿ¨±¨·Ï¡£ mypiccnewkey0

54、= 0xff; mypiccnewkey1 = 0xff; mypiccnewkey2 = 0xff; mypiccnewkey3 = 0xff; mypiccnewkey4 = 0xff; mypiccnewkey5 = 0xff; status = piccchangesinglekey(myctrlword,mypiccserial,myareano,authmode,mypiccoldkey,mypiccnewkey); /·µ»ØÖµ´¦Àí switch(status) case 0: ShowMessage("²Ù×÷³É¹&#

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論