资源编辑器中的DLL资源:它们来自哪里?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了资源编辑器中的DLL资源:它们来自哪里?相关的知识,希望对你有一定的参考价值。
我有一个小的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""
"
"#include ""verinfores.h""
"
" "
END
2 TEXTINCLUDE DISCARDABLE
BEGIN
"#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
"
" "
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", " "
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
VALUE字段的所有值都在单独的文件(VerInfoRes.h)中定义。提前致谢。
答案
根据定义,代码包括AfxRes.rc,它在VC9中包含字符串表,游标,对话框和位图。
这可能是那些额外资源的来源。
另一答案
您可以使用以下方法轻松编辑它:
以上是关于资源编辑器中的DLL资源:它们来自哪里?的主要内容,如果未能解决你的问题,请参考以下文章