c++调用易语言dll
c++中使用LoadLibrary和GetProcAddress 调用其他dll
不得不说易语言某些系统功能调用挺方便的
定义易语言dll
.版本 2
.子程序 k_message2, , 公开
.参数 message, 文本型
信息框 (message, 0, , )
c++中调用易语言dll (c#)
#include <windows.h>
#include <string>
// 可选:DLL 入口点
BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) {
switch (ul_reason_for_call) {
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
// MessageBoxA(NULL, "Hello, World!你好", "Message", MB_OK);
// e_interface 用于指向易语言dll中的 k_message
typedef void(_stdcall* e_interface)(const char*);// const char* 对应易语言文本入参
// 加载易语言dll , 假设易语言编译后的dll叫:demo.dll
HINSTANCE hm = LoadLibrary(TEXT("demo.dll"));
// 获取dll导出函数 ,导出函数名称为 k_message2
e_interface fun = (e_interface)GetProcAddress(hm, "k_message2");
// 调用--> 相当于调用易语言的 k_message2这个函数
fun("你好,datetime --> 2025-1-10");
// 释放dll
// FreeLibrary(hm);
return TRUE;
}
试调上面的dll(我这里使用易语言试调c++的dll)