调用动态链接库函数在实际工作中会遇到很多。这也是我很熟悉的方法,我想拿出来与大家分享一下。我就具体使用一个例子来进行这个功能的说明。
我想调用windows库函数进行读取ini文件。至于ini文件是什么,我这里就不说明了,因为我的主题是如何调用dll函数。以下是我的详细步骤:
1、我的ini文件名字为plwtest.ini,放在d盘目录下的,内容如下所示:
[硬件]
读卡器串口号=0
密码键盘串口号=0
读卡器型号=0
密码键盘型号=0
2、在进行调用dll函数时,引入using System.Runtime.InteropServices;这个命名空间。
3、使用C#重写调用的函数,要读取ini文件,所以应该调用“kernel32.dll”下的GetPrivateProfileString函数,如下:
/*
* segName 为键名
* keyName 为变量名
* strDefault 为取不到时的默认值
* strValue 为返回值
* nSize 为目的缓存器的大小
* fileName 为文件名
* */
[DllImport("kernel32.dll", CharSet = CharSet.Unicode)]
public static extern int GetPrivateProfileString(
string segName,
string keyName,
string strDefault,
StringBuilder strValue,