Ресурсы Dll в редакторе ресурсов: откуда они берутся? - PullRequest
1 голос
/ 10 июня 2010

У меня есть небольшой C ++ dll, который был написан в Visual Studio (конечно). В коде решения у меня есть файл ресурсов, который содержит только информацию о версии.

Странно, что когда я фрагментирую скомпилированную dll в Visual Studio, она открывает средство просмотра ресурсов с растровыми изображениями, диалоговыми окнами и таблицей строк - откуда все они берутся ??

Есть ли способ их удалить? Вот сам файл ресурса:

//Microsoft Developer Studio generated resource script.
//

#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"
#include "verinfores.h"

/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS

/////////////////////////////////////////////////////////////////////////////
// English (U.S.) resources

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
#endif //_WIN32

#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//

1 TEXTINCLUDE DISCARDABLE 
BEGIN
    "#include ""afxres.h""\r\n"
    "#include ""verinfores.h""\r\n"
    "\0"
END

2 TEXTINCLUDE DISCARDABLE 
BEGIN
    "#define _AFX_NO_SPLITTER_RESOURCES\r\n"
    "#define _AFX_NO_OLE_RESOURCES\r\n"
    "#define _AFX_NO_TRACKER_RESOURCES\r\n"
    "#define _AFX_NO_PROPERTY_RESOURCES\r\n"
    "\r\n"
    "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n"
    "#ifdef _WIN32\r\n"
    "LANGUAGE 9, 1\r\n"
    "#pragma code_page(1252)\r\n"
    "#endif //_WIN32\r\n"
    "#include ""afxres.rc""         // Standard components\r\n"
    "#endif\r\n"
    "\0"
END

#endif    // APSTUDIO_INVOKED

#ifndef _MAC
/////////////////////////////////////////////////////////////////////////////
//
// Version
//

VS_VERSION_INFO VERSIONINFO
 FILEVERSION MCSDK_FILEVERSION
 PRODUCTVERSION MCSDK_PRODUCTVERSION
 FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
 FILEFLAGS 0x1L
#else
 FILEFLAGS 0x0L
#endif
 FILEOS 0x40004L
 FILETYPE 0x1L
 FILESUBTYPE 0x0L
BEGIN
    BLOCK "StringFileInfo"
    BEGIN
        BLOCK "040904b0"
        BEGIN
        VALUE "Comments", "\0"
        VALUE "CompanyName", COMPANY_NAME
            VALUE "FileDescription", MODULE_NAME
            VALUE "FileVersion", PRODUCT_BUILDVER
            VALUE "InternalName", INTERNAL_NAME
            VALUE "LegalCopyright", COPYRIGHT_STRING
            VALUE "OriginalFilename", ORIGINAL_NAME
            VALUE "ProductName", PRODUCT_NAME
            VALUE "LegalTrademarks", LEGAL_TRADEMARK
            VALUE "ProductVersion", PRODUCT_VERSION
            VALUE "OLESelfRegister", OLE_SELFREG
        VALUE "Build Number", BUILD_NUMBER
        END
    END
    BLOCK "VarFileInfo"
    BEGIN
        VALUE "Translation", 0x409, 1200
    END
END

#endif    // !_MAC


#endif    // English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////



#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
#define _AFX_NO_SPLITTER_RESOURCES
#define _AFX_NO_OLE_RESOURCES
#define _AFX_NO_TRACKER_RESOURCES
#define _AFX_NO_PROPERTY_RESOURCES

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE 9, 1
#pragma code_page(1252)
#endif //_WIN32
#include "afxres.rc"         // Standard components
#endif

/////////////////////////////////////////////////////////////////////////////
#endif    // not APSTUDIO_INVOKED

Все значения для поля VALU определены в отдельном файле (VerInfoRes.h). Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 13 апреля 2012

В зависимости от определений, код включает AfxRes.rc, который в VC9 содержит таблицу строк, курсоры, диалоги и растровые изображения.

Вероятно, откуда берутся эти дополнительные ресурсы.

0 голосов
/ 26 апреля 2019

Вы можете легко отредактировать это, используя это:

screenshot example

...