21xrx.com
2024-09-19 23:55:36 Thursday
登录
文章检索 我的文章 写文章
如何在C++中调用VB DLL?
2023-07-02 19:03:03 深夜i     --     --
C++ VB DLL 调用

在C++中调用VB DLL需要进行一些准备工作,具体如下:

第一步,创建VB DLL

使用VB语言编写一个动态链接库(DLL),这里不仅要编写好DLL的功能代码,还需要在DLL项目中添加额外的导出函数(External Function)。

通过在VB中使用Declare语句为指定的函数设置导出函数,例如:Public Declare Function functionName Lib "dllName" () As Long

其中functionName表示导出函数名,dllName表示创建的DLL名称。

第二步,将VB DLL导出到机器上

将该VB_DLL.dll拷贝至以C++项目作为主工程的项目目录下或者添加VB模块项目后,则该VB模块生成的DLL会自动拷贝到该C++的目标文件夹下。

第三步,调用VB DLL函数

在C++代码中调用VB DLL函数的前提是已经将VB DLL导出到了运行环境中。

首先需要将导出函数作为dll lib库引入到C++中: 

extern "C" __declspec(dllimport) long __stdcall functionName();

其中"functionName"为导出函数名,"long"为函数返回值类型,"stdcall"表示函数调用方式。

使用如下调用方式即可调用VB DLL中的该函数:

hLib = LoadLibrary("VB_DLL.dll");  //载入动态链接库

if (hLib == NULL)  //判断是否载入成功

  {

    AfxMessageBox("Load VB_DLL.dll Failed");

    return ;

  }

FUNCPTR pfn = (FUNCPTR)GetProcAddress(hLib,"functionName");  //获取DLL中导出函数的地址

if (pfn == NULL)  //判断获取是否成功

  {

    AfxMessageBox("Failed Get Proc Address: functionName!");

    return ;

  }

long lRet = pfn();  //调用DLL中导出函数

FreeLibrary(hLib);  //释放库载入程序

hLib = NULL;  // 置空载入库句柄

以上就是如何在C++中调用VB DLL的全部步骤,通过按照以上步骤操作,可以较为轻松地完成C++调用VB DLL的工作。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复