VB.net如何调用C++ DLL,有重谢

小弟一直做vb.net开发的,昨天老总让我们在vb.net中调用c++的一些代码,不知如何调用,网上查了些资料还是有点不懂,哪位大侠帮个忙给我写个简简单单的例子就好,有重... 小弟一直做vb.net开发的,昨天老总让我们在vb.net中调用c++的一些代码,不知如何调用,网上查了些资料还是有点不懂,哪位大侠帮个忙给我写个简简单单的例子就好,有重谢,提供号码帮您冲20元话费,谢谢了 展开
 我来答
飘菲的白色
2014-02-23 · TA获得超过617个赞
知道小有建树答主
回答量:338
采纳率:0%
帮助的人:333万
展开全部

如果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的也差不多

空雪梦见
2014-02-23 · TA获得超过5597个赞
知道大有可为答主
回答量:2522
采纳率:75%
帮助的人:1165万
展开全部

弄清楚函数的声明以后,和C#下调用其实差不多

.net平台下就这个样……

这里以调用系统dll里的三个函数为例

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
希望它好year
2014-02-23 · 超过51用户采纳过TA的回答
知道小有建树答主
回答量:130
采纳率:0%
帮助的人:83.7万
展开全部
vb.net静态调用c++dll的方法:
在新建的工程中,add一个module,添加声明函数等代码。
如: Public Declare Function AdvDVP_Start Lib "xxx.dll" (ByVal nDevNum As Long, ByVal SwitchingChans As Long, ByVal Main As Long, ByVal hwandPreview As Long) As Long
Xxx为待测试的c++的dll名称。
主程序,直接使用就好了。
当然,也可以用工具直接从c#转到vb.net
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
money0_04c351c2
2014-02-23 · TA获得超过4141个赞
知道大有可为答主
回答量:5505
采纳率:49%
帮助的人:1577万
展开全部
这个不是你能决定的。
如果目标C++代码是托管的,你直接在引用中选中它就可以了。
如果不是托管的,那么是无法从VB端解决的。必须从C++端完善接口。
换言之,C++代码只有建立了标准接口的(COM)才能在VB.net中使用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dong_1984dd
2015-08-19 · TA获得超过1.1万个赞
知道小有建树答主
回答量:1070
采纳率:100%
帮助的人:224万
展开全部
  1. C++  dll  函数如下 ()
    bool winapi connectplayserver 

    char* address, 
    DWORD Port, 
    DWORD DataPart, 
    char* Username 
    );

  2. VB.NET 调用方式:
    <DllImport(\"Data.dll\")> Private Shared Function ConnectPlayServer(ByVal Address As String, ByVal Port As Integer, ByVal DataPort As Integer, ByVal Username As String) As Boolean 

    End Function 
    Private Declare Auto Function a Lib \"Lib.dll\" (ByVal i As Integer) As String2.

     

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式