win32空项目中添加调用动态链接库实例

本文介绍了如何在Win32控制台程序中加载并调用DLL文件,包括使用LoadLibrary和GetProcAddress获取导出函数的步骤。还展示了DLL中的ThreadCallBack函数实现模态窗口弹出的例子。
摘要由CSDN通过智能技术生成

win32控制台程序调用DLL文件

  1. 创建win32的空项目文件:
    需要的文件

2.CPP文件中添加的头文件:
在这里插入图片描述
#include "pch.h" #include "framework.h" #include <Windows.h> #include <iostream> //#include "SerialPort_Com.h" #pragma comment(lib,"E:\\COM_DELL\\COM\\Debug\\SerialPort_Com.lib") #include "afxdialogex.h"

3.准备已经完成,接下来我们就开始正式的 搞事情了:

文件目录文件中:
在这里插入图片描述其余文件都是编译器自动生成动态链接库所需文件,更具要求不同,稍后再使用中 添加对应的文件即可:

int main()
{
		HMODULE hmodule = LoadLibrary(L"SerialPort_Com.dll");
		if (NULL == hmodule)
		{
			MessageBox(0, L"加载 MyDLL.dll 失败", L"提示信息", 4);
		}
		else
		{
			2.获取导出函数指针
			typedef Port_Dlg * (*hpDllFun)();
			hpDllFun pShowDlg = (hpDllFun)GetProcAddress(hmodule, "SHOW_W");//获取函数地
			if (NULL == pShowDlg)
			{
				//MessageBox(_T("DLL中函数寻找失败"));
				MessageBox(0, L"DLL中函数寻找失败", L"提示信息", 4);
				return 0;
			}
			else
			{
			  pShowDlg()}
			//FreeLibrary(hmodule);
			//pShowDlg();
		}
     system("pause");
    std::cout << "Hello World!\n";
	
}

接下来 神奇的一幕就出现了:

在这里插入图片描述
在这里插入图片描述我将吧dLL库文件的一段 实现弹出桌面的 代码 贴出来 方便大家去观看:

DWORD WINAPI ThreadCallBack(LPARAM lparam)
{
	MessageBox(0, L"123", L"提示信息", 4);
	AFX_MANAGE_STATE(AfxGetStaticModuleState());
	if (my)
		my = new Port_Dlg();
	    my->DoModal();//创建模态窗口 然后堵塞 等待窗口关闭后继续往下执行  
	//FreeLibraryAndExitThread(theApp.m_hInstance, 1);//释放 会触发ExitInstance();
	return 1;
}

宝子门是不是很清晰哈!

到这里就结束了,祝宝子们再接再厉,再上一层楼!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值