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 を作成できるように、リソースについて読みたいと思います。リソース コンパイラ、リソースのみの DLL の作成方法、文字列テーブルの使用方法などについて、参照した MSDN サイトを検索してみてください。Microsoft でドキュメントと例を見つけることができると確信しています。そうでない場合は、Google で見つけることができます。

ああ、あなたの DLL はリソースのみである必要はありません。「たくさんの文字列を含む dll ファイルを作成したい」というあなたのコメントからそれを得ました。DLL にコードも含まれている場合は、実際にはさらに簡単に (おそらくもっと簡単に) 実行できます。次に、DLL へのリソースの追加などを検索します。

于 2013-03-18T19:22:20.997 に答える