欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

调用DLL文件及函数

程序员文章站 2022-06-24 23:40:50
...

继上一步创建了Audit_ChargeSystem_GLWAPI.dll后,下一步开始测试dll的调用及功能

上一步创建dll的步骤,链接如下https://blog.csdn.net/sunflower_della/article/details/82663154

在解决方案中继续创建一个win32控制台工程,工程名为TestDll,会自动生成一个TestDll.cpp的文件

Step 1:定义函数

typedef int (*p_fnAudit_ChargeSystem)(const char* logPath);

函数的参数,必须与导出函数的参数一致

Step 2:

在main函数中添加如下代码:

int _tmain(int argc, _TCHAR* argv[])
{
	p_fnAudit_ChargeSystem pfn;
	HMODULE hMo = LoadLibrary("Audit_ChargeSystem_GLWAPI.dll");
	if (hMo == NULL) {
		printf("LoadLibrary Audit_ChargeSystem_GLWAPI.dll error!\n");
		return 0;
	}

	pfn = (p_fnAudit_ChargeSystem)GetProcAddress(hMo, "audit_ChargeSystem_GLWAPI");
	if (pfn == NULL) {
		printf("%s", GetLastError());
		printf("can't find audit_ChargeSystem_GLWAPI function!\n");
		return 0;
	}

	char* logPath = "C:\\IBAlog\\";
	bool bRes = pfn(logPath);
	if (bRes) 
		printf("logPath=%s", logPath);
	else
		printf("GetDomainIdNetbarId error:%d\n", bRes);

	/*char* logPath = "C:\\IBAlog\\";
	bool bRet = audit_ChargeSystem_GLWAPI(logPath);*/

	printf("press any key:");
	getchar();
	return 0;

}

pfn就指向了dll中函数的地址,带入参数,可执行对应的dll功能