14

通常の MSVC では非常に簡単に実行できますが、VC++ Express では簡単にサポートされないことをしようとしています。

VC++ Express にはリソース エディターはありません。そこで、version.rc という名前のファイルを DLL プロジェクトに追加しました。このファイルには、リソース コンパイラによってコンパイルされ、最終的な DLL に追加される以下の内容が含まれます。このリソースは reshacker を使用して DLL で表示できますが、Windows エクスプローラーで DLL を右クリックした場合は表示されません。

右クリックしたときに RC ファイルが表示されるようにするために、RC ファイルに欠けているものは何ですか?

VS_VERSION_INFO VERSIONINFO
 FILEVERSION 1,0,0,1
 PRODUCTVERSION 1,0,0,1
 FILEFLAGSMASK 0x17L
#ifdef _DEBUG
 FILEFLAGS 0x1L
#else
 FILEFLAGS 0x0L
#endif
 FILEOS 0x4L
 FILETYPE 0x1L
 FILESUBTYPE 0x0L
BEGIN
    BLOCK "StringFileInfo"
    BEGIN
        BLOCK "040904b0"
        BEGIN
            VALUE "FileDescription", "something Application"
            VALUE "FileVersion", "1, 0, 0, 1"
            VALUE "InternalName", "something"
            VALUE "LegalCopyright", "Copyright (C) 2008 Somebody"
            VALUE "OriginalFilename", "something.exe"
            VALUE "ProductName", "something Application"
            VALUE "ProductVersion", "1, 0, 0, 1"
        END
    END
    BLOCK "VarFileInfo"
    BEGIN
        VALUE "Translation", 0x409, 1200
    END
END
4

4 に答える 4

20

(reshacker を使用して) 自分のリソースと右クリックで表示されるリソースの違いを 1 つ確認できました。それがリソースの名前でした。そこで、VS_VERSION_INFO を 1 に変更しました。右クリックでリソースが表示されるようになりました。

1 VERSIONINFO
 FILEVERSION 1,0,0,1
 PRODUCTVERSION 1,0,0,1
 FILEFLAGSMASK 0x17L
#ifdef _DEBUG
 FILEFLAGS 0x1L
#else
 FILEFLAGS 0x0L
#endif
 FILEOS 0x4L
 FILETYPE 0x1L
 FILESUBTYPE 0x0L
BEGIN
    BLOCK "StringFileInfo"
    BEGIN
        BLOCK "040904b0"
        BEGIN
            VALUE "FileDescription", "something Application"
            VALUE "FileVersion", "1, 0, 0, 1"
            VALUE "InternalName", "something"
            VALUE "LegalCopyright", "Copyright (C) 2008 Somebody"
            VALUE "OriginalFilename", "something.exe"
            VALUE "ProductName", "something Application"
            VALUE "ProductVersion", "1, 0, 0, 1"
        END
    END
    BLOCK "VarFileInfo"
    BEGIN
        VALUE "Translation", 0x409, 1200
    END
END
于 2009-05-17T08:30:06.250 に答える
4

リソースを次のように変更してみてください。

 FILEFLAGSMASK 0x3fL

    BLOCK "040004e4"

VALUE "Translation", 0x400, 1252
于 2009-05-12T13:54:02.833 に答える