有托管和非托管的概念没仔细看,接下来记录的引用Dll文件指的是无法通过VS自动完成添加引用的情况,可以使用如下方法:
步骤一:
打开“Visual Studio Tools”的“命令提示符”工具
使用dumpbin -exports命令查看DLL文件中的函数(或者入口)是否与自己需要的相符,例如:
dumpbin -exports D:\test\gregn45.dll
查看所有dumpbin对应的命令直接在“命令提示符”工具输入:
dumpbin
然后按enter即可。
步骤二:(如果上一步正确,在进行下一步)
在C#类中使用“DllImport”来引入DLL中的函数,例如:
[DllImport("MTKDll.dll")] public static extern int JA_DestroyDevice();
每一个函数都要使用一次“DllImport”,如果运行提示“无法找到模块”则将Dll文件放入程序bin\Debug文件夹下即可
如果提示“无法找到函数入口点”,则需要在使用DllImprot是指定“EntryPoint”,具体值一“步骤一”得到的函数名为准
备注:相关优秀链接:
C#中的API是不是Win32API?(这个回答的底部有一个简单的使用,很明了)