vb.net引用Dll的问题

vb.net引用Dll的问题,第1张

上级目录不可以,但是为了保证程序路径改变,引用不会被破坏。可以有几个方法:

1.将DLL文件放在程序同级目录

2.将DLL文件放在程序子目录

3.将DLL文件放在System32目录下(系统目录,可以直接引用DLL)

4.可以将DLL文件打包成资源文件,融合到EXE程序中,每次执行判断同级目录是否有DLL文件,不存在,释放资源文件。

你要调用的是什么类型的dll呢?

1.对于标准的dll(动态链接库)可以象VB6中声明API等样式调用:

参考:

http://www.dotblogs.com.tw/yc421206/archive/2008/11/18/6022.aspx

2.对于COM组件的DLL(比如vb6开发的),就按照。net调用COM组件的方式,引用com组件中可以看到

3.对于.NET Assambly DLL直接引用就可以使用了

方法1:C#可以调用封装好的基于纯C的dll,但如果是C++的类,没有很简便的方法直接调用。使用方法:直接添加引用是不行的,使用DLLIMPORT。

2

方法2:把.dll放到exe程序所在的目录,在C#里声明,例如:[DllImport("DMC5480.dll", EntryPoint = "要调用的方法名", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]  public static extern IntPtr 要调用的方法名();

3

方法3:使用 dllImport 导入。具体参数还需要看到底怎么使用。也就说,在 C++ 里面的函数除了签名之外,还需要参数契约。 比如:

[DllImport("filename.dll")]

UInt32 d5480_download_firmware(UInt16 card, string filename)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11531281.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存