
但是,如果不是COM组件,有另外一种方式使用dll,就是import里面的函数,需要做个包装类,在里面把dll中的方法包装一下,具体的可以网上搜搜C# import dll用法。在c#类里添加[DllImport("dll名dll")]即可:
比如我用c开发了一个testdlldll的dll文件,则我在c#类的构造函数前可以添加[DllImport("testdlldll")],就把c开发的动态链接库添加进了c#项目里。1、创建引用动态链接库的应用程序:在解决方案上单击鼠标右键》添加》新建项目 2、在添加新项目中选择其它语言->Visual C++->Win32,选择Win32 控制台应用程序,设置名称:simpleDLLTest 3、单击确定,在出现的Win32 应用程序向导的概述对话框中LoadLibrary("_FileName") 返回得到的模块句柄,可以加载一个动态连接库或exe文件。
GetProcAddress(Hinstance,lpname) 用来获取指定的动态连接库函数的地址
Hinstance为由LoadLibrary返回的模块句柄,lpname为文件名/函数名,返回值,成功返回动态连接库的地址,失败返回NULL
注意 LoadLibrary 的返回值。您好。
试试以下方法:
不添加引用,在源码头部添加:
using SystemRuntimeInteropServices;
然后在类中声明方法:
[DllImport("dlldll")]
extern 函数返回类型 函数名(参数);
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)