我使用eclipse和mingw compilier(c ++)。
我想创建一个包含很多字符串的dll文件。
之后,我想与LoadString()
联系,阅读字符串(http://msdn.microsoft.com/en-us/library/windows/desktop/ms647486(v=vs.85).aspx)
我的dll文件:
#define WIN32_LEAN_AND_MEAN
#define DLL_FUNC extern "C" __declspec(dllexport)
DLL_FUNC int __stdcall Hello() {
return 0;
}
我的cpp文件:
#include <windows.h>
#include <stdio.h>
int main () {
typedef int (__stdcall *HelloProc)();
HMODULE hdll = LoadLibrary("HelloWorld.dll");
if( hdll == NULL){
MessageBox(HWND_DESKTOP, "Wrong dll path", "Message", MB_OK);
}
else {
typedef int (__stdcall *HelloProc)();
HelloProc Hello = (HelloProc)GetProcAddress(hdll, "Hello@0");
if(Hello == NULL){
//LoadString();
MessageBox(HWND_DESKTOP, "Hello is NULL", "Message", MB_OK);
}
else{
Hello();
}
}
return 0;
}
如何创建字符串?以及如何使用LoadString()
拨打电话?
答案 0 :(得分:3)
我想您想了解 resources ,以便您可以构建包含字符串表的仅资源DLL。尝试搜索您引用的MSDN站点,例如资源编译器,或者如何构建仅资源DLL 和如何使用字符串表。我相信你会在微软找到文档和示例,如果没有,可以在谷歌找到。
哦,你的DLL不是必需只是资源,我从你的评论中得到了“我想创建一个包含很多字符串的dll文件。”如果您的DLL也包含代码,那么实际上甚至更容易(可能更直接)。然后,您需要搜索向DLL添加资源等等。