动态调用链接库(dll) 续
生活随笔
收集整理的這篇文章主要介紹了
动态调用链接库(dll) 续
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
20141118
最近一周做了一個關于倉庫管理,揀貨任務分配的模塊,其中涉及到刷卡自動打印領取任務的功能點。
技術點:
C#調用C++、delphi的動態鏈接庫。動態鏈接庫的調用方法不同。效果也不相同。
DLL位置:執行程序根目錄下面
例:
第一種:
[DllImport("shuipiao1.dll", EntryPoint = "checkticket", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
第二種:
[DllImport("MifsDLL.dll", CharSet = CharSet.Ansi)]
第三種:
[DllImport("MifsDLL.dll", CharSet = CharSet.Ansi, EntryPoint = "mifs_anticoll", CallingConvention = CallingConvention.Cdecl)]
實際案例:
#region 調用dll接口方法// 打開串口 OpenComm(char *commPort,DWORD baud)[DllImport("MifsDLL.dll", CharSet = CharSet.Ansi)]// [DllImport("MifsDLL.dll", EntryPoint = "OpenComm", SetLastError = true,//CharSet = CharSet.Auto, ExactSpelling = false,//CallingConvention = CallingConvention.StdCall)]//打開串口public static extern Int16 OpenComm(string port, long baud);//裝載密鑰 WINAPI mifs_load_key(uchar _Mode, uchar _SecNr, uchar *Key)[DllImport("MifsDLL.dll", CharSet = CharSet.Ansi)]//打開串口public static extern Int16 mifs_load_key(uint Mode, uint SecNr, byte[] Key);[DllImport("MifsDLL.dll", CharSet = CharSet.Ansi)]//mifs_request_2 尋卡public static extern Int16 mifs_request_2(long mode);[DllImport("MifsDLL.dll", CharSet = CharSet.Ansi, EntryPoint = "mifs_anticoll", CallingConvention = CallingConvention.Cdecl)]public static extern Int16 mifs_anticoll(uint Bcnt, byte[] port);//mifs_select(uchar *_Snr)[DllImport("MifsDLL.dll", CharSet = CharSet.Ansi, EntryPoint = "mifs_select", CallingConvention = CallingConvention.Cdecl)]//選卡public static extern Int16 mifs_select(byte[] port);//mifs_authentication(uchar auth_mode,uchar *snr,uchar key_sector)[DllImport("MifsDLL.dll", CharSet = CharSet.Ansi)]//認證秘鑰public static extern Int16 mifs_authentication(uint mode, byte[] Snr, uint Key);//讀卡數據 mifs_read(uchar _Adr, uchar *_Data) 出口函數16byte[DllImport("MifsDLL.dll", CharSet = CharSet.Ansi, EntryPoint = "mifs_read", CallingConvention = CallingConvention.Cdecl)]public static extern Int16 mifs_read(uint Adr, byte[] Data);//int WINAPI mifs_write(uchar _Adr, uchar *_Data) 寫員工號[DllImport("MifsDLL.dll", CharSet = CharSet.Ansi)]public static extern Int16 mifs_write(uint Adr, byte[] Data);// 蜂鳴 mifs_Buzzer(uchar bb)[DllImport("MifsDLL.dll", EntryPoint = "mifs_Buzzer", SetLastError = true,CharSet = CharSet.Auto, ExactSpelling = false,CallingConvention = CallingConvention.StdCall)]public static extern void mifs_Buzzer(int bb);#endregion?
?
?
?
轉載于:https://www.cnblogs.com/cwgyn/p/dll.html
總結
以上是生活随笔為你收集整理的动态调用链接库(dll) 续的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux内核模块开发常用内核接口
- 下一篇: asp.net返回值当文件下载问题