Ответ 1
Правильное решение - добавить в верхнюю часть вашего .rc файла:
#include <windows.h>
Я пытаюсь сделать что-то, что очень легко сделать в обычном MSVC, но не поддерживается легко в VС++ Express.
В VС++ Express нет редактора ресурсов. Поэтому я добавил файл с именем version.rc в свой проект DLL. Файл имеет содержимое ниже, которое компилируется компилятором ресурсов и добавляется в финальную DLL. Этот ресурс можно просмотреть в DLL, используя reshacker, но не при щелчке правой кнопкой мыши по DLL в проводнике Windows.
Что отсутствует в моем файле 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
Правильное решение - добавить в верхнюю часть вашего .rc файла:
#include <windows.h>
Я смог увидеть (используя reshacker) одно различие между моим ресурсом и ресурсами, которые появляются при щелчке правой кнопкой мыши, и это было имя ресурса. Поэтому я изменил 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
Попробуйте изменить свои ресурсы на:
FILEFLAGSMASK 0x3fL
и
BLOCK "040004e4"
и
VALUE "Translation", 0x400, 1252