我使用 eclipse 和 mingw 编译器 (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()
?
最佳答案
我认为您想阅读有关资源 的内容,以便您可以构建包含字符串表的纯资源 DLL。尝试搜索您引用的 MSDN 站点以查找诸如资源编译器 以及如何构建纯资源 DLL 和如何使用字符串表 之类的内容。我相信您会在 Microsoft 找到文档和示例,如果没有,也可以在 Google 找到。
哦,您的 DLL 不是要求仅作为资源,我从您的评论“我想创建一个包含大量字符串的 dll 文件”中了解到这一点。如果您的 DLL 也包含代码,这实际上更容易(可能更直接)。然后,您可能想要搜索将资源添加到 DLL 以及类似的内容。
关于c++ - 从dll c++获取字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15485046/