公司一个项目用到了德卡读卡器的设备,想在原有厂商给的C++ DLL的基础上再做一层封装,方便以后项目的使用,拿来DLL和接口文档就开干了。
在这里记录下,也分享给之后或许有需要的朋友。
要注意的类型转换:
将string转为IntPtr:IntPtr System.Runtime.InteropServices.Marshal.StringToCoTaskMemAuto(string)
将IntPtr转为string:string System.Runtime.InteropServices.MarshalPtrToStringAuto(IntPtr)
类型对照:
BSTR --------- StringBuilder
LPCTSTR --------- StringBuilder
LPCWSTR --------- IntPtr
handle---------IntPtr
hwnd-----------IntPtr
char *----------string
int * -----------ref int
int &-----------ref int
void *----------IntPtr
unsigned char *-----ref byte
厂家的文档中有关身份证操作的函数分别是:
读明文按键函数
short USER_API dc_find_i_d(HANDLE icdev);
获取身份证操作句柄函数
HANDLE USER_API dc_start_i_d(HANDLE icdev);
获取身份证姓名函数
char* USER_API dc_i_d

本文记录了如何在C#项目中使用C++ DLL与德卡读卡器交互,通过类型转换如string到IntPtr,封装接口以简化未来项目使用。涉及的函数包括建立项目IDCard和获取身份证信息。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



