十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
如果DLL不是你写的,且你要调用的函数不是__stdcall声明,VB直接调用是会报错的
创新互联建站专业为企业提供东乌珠穆沁网站建设、东乌珠穆沁做网站、东乌珠穆沁网站设计、东乌珠穆沁网站制作等企业网站建设、网页设计与制作、东乌珠穆沁企业网站模板建站服务,十余年东乌珠穆沁做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
如果DLL是你写的,注意调用约定问题,并看以下代码
***************************************************
以下是DLL代码
.cpp里这么写
extern "C"__declspec(dllexport) void __stdcall HelloWorld()
{
MessageBox(NULL,"HelloWorld","HelloWorld",NULL);
}
.def里这么写
LIBRARY "XXXX"
EXPORTS
; 此处以下添加
HelloWorld@1
*************************************************
vb里这么写
Public Declare Sub HelloWorld Lib "XXXX.dll" ()
然后调用就可以了,上面是VB的代码,或许VB.net的也差不多
你可以将C#写的类输出为库文件,就是dll文件,然后用VB.net直接调用就可以了。因为C#生成库的时候会被编译成IL,VB.net是可以直接使用的,希望可以帮到你。
Private Declare Auto Function funct Lib "xxx.dll" (ByRef address() As Byte) As Integer
"xxx.dll" 你的 dll 文件名称,保证他与你的程序在同一文件夹(或系统文件夹)中。不管是指针还是指向指针的指针,都是指针,数据类型是 int(integer),vb中声明为 integer 总是正确的,至于如何解释这个指针,很多情况下 vb 是无能为力的,你的 dll 还要帮助 vb 解释,所以,设计 dll 时,要考虑使用者的接受能力。