MFC .rc文件解析(EXE属性详细信息添加)

文章目录

  • Windows 资源文件(.rc文件)
    • 资源(Resources)类型
      • 从文件导入的(BITMAP,ICON,HTML,FONT,CURSOR 等)
      • 对话框资源类型:(DIALOG,DIALOGEX 等)
      • 菜单资源类型
      • 字符串表类型
      • 自定义类型
    • Resource.h资源声明文件
  • 版本信息(VERSIONINFO)
    • 1. 打开.rc文件
    • 2. 添加版本信息

Windows 资源文件(.rc文件)

rc 是resource的简称,对应着VS中的资源视图文件,目的是为了对程序中用到的大量的资源进行统一的管理。rc 文件是资源文件,包括比如对话框、菜单、图标、字符串、版本等资源信息。在win32编程中,.rc在程序编译时会被资源编译器编译生成一个.res的二进制文件

资源(Resources)类型

从文件导入的(BITMAP,ICON,HTML,FONT,CURSOR 等)

nameID BITMAP filename
IDI_ICON_MAIN       ICON       "res\\icon.ico"  //ICON RESOURCE

对话框资源类型:(DIALOG,DIALOGEX 等)

nameID DIALOGEX x, y, width, height [ , helpID]] [[ optional-statements]]  {control-statements }
IDD_DIALOG_ABOUT DIALOGEX 0, 0, 290, 59        //DIALOGEX RESOURCE
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Dialog"        // CAPTION   STATEMENT
FONT 8, "MS Shell Dlg", 400, 0, 0x1        // FONT  STATEMENT
BEGIN
    LTEXT           "Windows Resource Demo",3001,26,14,119,8,SS_NOPREFIX    //  CONTROL
    LTEXT           "Copyright (C) 2008",3002,26,30,119,8                        //  CONTROL
    DEFPUSHBUTTON   "OK",IDOK,234,14,32,14,WS_GROUP                //  CONTROL
    DEFPUSHBUTTON   "Quit",IDCANCEL,234,31,32,14,WS_GROUP            //   CONTROL

菜单资源类型

//MENU:
menuID MENU [[optional-statements]] { item-definitions ... }
//POPUP:
POPUP text, [[optionlist]] { item-definitions ... }
//MENU:
IDR_MENU_MAIN MENU        //MENU RESOURCE
BEGIN
    POPUP "File"        // POPUP RESOURCE
    BEGIN
        MENUITEM "&Open",        ID_FILE_COPY    // MENUITEM  STATEMENT
        MENUITEM SEPARATOR            // MENUITEM  STATEMENT
        MENUITEM "E&xit",         ID_FILE_EXIT  // MENUITEM  STATEMENT
    END
    POPUP "Help"        // POPUP RESOURCE
    BEGIN
        MENUITEM "&About",    ID_HELP_ABOUT// MENUITEM  STATEMENT
    END
END
 
//POPUP:
IDR_MENU_POPUP MENU 
BEGIN
    POPUP "POPUP"
    BEGIN
        MENUITEM "&Copy",        ID_POPUP_COPY
        MENUITEM "&Paste",        ID_POPUP_PASTE
        MENUITEM "Cu&t",        ID_POPUP_CUT
        POPUP "&Info"
        BEGIN
            MENUITEM "Co&unt",         ID_INFO_A
            MENUITEM "&Size",            ID_INFO_B
        END
    END
END

字符串表类型

自定义类型

Resource.h资源声明文件

#define IDD_DIALOG_ABOUT                101

在使用资源 ID 时经常会看到一个宏 MAKEINTRESOURCE,这个宏的功能是将资源 ID 转换为资源名(字符串形式),很多 API 函数在引用资源时都是通过资源名来引用的。

版本信息(VERSIONINFO)

MFC .rc文件解析(EXE属性详细信息添加)_第1张图片

1. 打开.rc文件

2. 添加版本信息

VS_VERSION_INFO VERSIONINFO
 FILEVERSION 1,0,0,0
 PRODUCTVERSION 1,0,0,0
 FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
 FILEFLAGS 0x29L
#else
 FILEFLAGS 0x28L
#endif
 FILEOS 0x4L
 FILETYPE 0x1L
 FILESUBTYPE 0x0L
BEGIN
    BLOCK "StringFileInfo"
    BEGIN
        BLOCK "040904e4"
        BEGIN
            VALUE "Comments", "Developed By XXX Inc."
            VALUE "CompanyName", "XXX Inc."
            VALUE "FileDescription", ""
            VALUE "FileVersion", "1.0.0.0"
            VALUE "InternalName", "XXX.exe"
            VALUE "LegalCopyright", "Copyright (C) 2009-2010"
            VALUE "LegalTrademarks", "XXX"
            VALUE "OriginalFilename", "XXX.exe"
            VALUE "PrivateBuild", "beta"
            VALUE "ProductName", ""
            VALUE "ProductVersion", "1.0.0.0"
            VALUE "SpecialBuild", "beta"
        END
    END
    BLOCK "VarFileInfo"
    BEGIN
        VALUE "Translation", 0x409, 1252
    END
END

Windows 资源文件(.rc文件)

你可能感兴趣的:(C++\QT,mfc,windows,c++)