vb.net无法引用C++编写的dll怎么办?

vb.net无法引用C++编写的dll怎么办?,第1张

如果DLL不是你写的,且你要调用的函数不是__stdcall声明,VB直接调用是会报错的

如果DLL是你写的,注意调用约定问题,并看以下代码

***************************************************

以下是DLL代码

.cpp里这么写

1extern "C"__declspec(dllexport) void __stdcall HelloWorld()

2{3MessageBox(NULL,"HelloWorld","HelloWorld",NULL)4}

.def里这么写

LIBRARY "XXXX"

EXPORTS

此处以下添加

HelloWorld@1

*************************************************

vb里这么写

1 Public Declare Sub HelloWorld Lib "XXXX.dll" ()

然后调用就可以了,上面是VB的代码,或许VB.net的也差不多

VB程序中用到的DLL文件,全都进行注册一次:

开始>>运行,输入regsvr32 d:\abc\abc.dll

把这里的DLL文件路径改成你的。

源代码调用的DLL文件如果不是activex类型的,则需要将该DLL放在系统的windows目录或system32目录,或者和VB程序放同一目录。


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

原文地址: http://outofmemory.cn/bake/11476632.html

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

发表评论

登录后才能评论

评论列表(0条)

保存