2

我使用 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()

4

1 回答 1

3

我认为您想阅读有关资源的信息,以便您可以构建一个包含字符串表的纯资源 DLL。尝试搜索您引用的 MSDN 站点,以获取资源编译器之类的内容,以及如何构建仅资源 DLL以及如何使用字符串表。我相信您会在 Microsoft 找到文档和示例,如果没有,在 Google 中找到。

哦,您的 DLL不需要只是资源,我从您的评论中得到了这一点“我想创建一个包含很多字符串的 dll 文件。” 如果您的 DLL 也包含代码,这实际上更容易(也许更直接)。然后你会想要搜索将资源添加到 DLL之类的东西。

于 2013-03-18T19:22:20.997 回答