c++ - 从dll c++获取字符串

标签 c++ string dll

我使用 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/

相关文章:

你能把字符串变成字符数组吗

c++ - 使用 Win32 API 列出存储在纯资源库 (DLL) 中的消息 ID 和符号名称

c++ - 是否可以更改 ostringstream rdbuf?

c++ - 窗外的QPushButton(灵感: CleanMyMac)

c++ - 使用boost spirit X3解析变体列表

javascript - 使用字符串检索对象的值

c++ - 看不懂的条件语句

c++ - 维护一个与 std::map 平行的 std::vector

c++ - 与生成的 protobufs 的静态链接导致中止

android - DLL 加载失败 : %1 is not a valid Win32 application - Appcelerator