#c #windows #windres
#c #Windows #windres
Вопрос:
Итак, я разрабатывал свое приложение на C , когда наткнулся на файлы ресурсов Windows (.rc), мое приложение на португальском языке Португалии, поэтому я написал свой файл следующим образом:
MAIN ICON "icon.ico"
MAIN VERSIONINFO
FILEVERSION 1,0,0,0
PRODUCTVERSION 1,0,0,0
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "081604b0"
BEGIN
VALUE "Comments", "Tenta a tua Sorte!"
VALUE "CompanyName", "Adsglobal"
VALUE "FileDescription", "Jogo Simples"
VALUE "FileVersion", "1.0.0.0"
VALUE "InternalName", "Tenta a Sorte"
VALUE "LegalCopyright", "Copyright © Rodrigo Santos 2020"
VALUE "OriginalName", "Tenta a Sorte"
VALUE "ProductName", "Tenta a Sorte"
VALUE "ProductVersion", "1.0.0.0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x0816, 1200
END
END
По какой-то неизвестной мне причине, когда я компилирую его с помощью g и windres, я получаю значок, но информация о версии не отображается.
Если вы можете мне помочь, пожалуйста, исправьте это
Комментарии:
1. Что именно вы подразумеваете под «не является не»? Вы имеете в виду, что она отображается, а ее не должно быть? Потому что это то, что там написано. Пожалуйста, уточните.
Ответ №1:
Вы указываете неправильный идентификатор для VERSIONINFO
ресурса. Согласно VERSIONINFO
документации, идентификатор должен быть 1
, а не MAIN
:
Существует два способа форматирования инструкции VERSIONINFO:
versionID VERSIONINFO fixed-info { block-statement . . . }
— или —
versionID VERSIONINFO fixed-info BEGIN block-statement ... END
Параметры
versionId
Версия-идентификатор информационного ресурса. Это значение должно быть 1.
…
Итак, попробуйте это вместо:
MAIN ICON "icon.ico"
1 VERSIONINFO
FILEVERSION 1,0,0,0
PRODUCTVERSION 1,0,0,0
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "081604b0"
BEGIN
VALUE "Comments", "Tenta a tua Sorte!"
VALUE "CompanyName", "Adsglobal"
VALUE "FileDescription", "Jogo Simples"
VALUE "FileVersion", "1.0.0.0"
VALUE "InternalName", "Tenta a Sorte"
VALUE "LegalCopyright", "Copyright © Rodrigo Santos 2020"
VALUE "OriginalName", "Tenta a Sorte"
VALUE "ProductName", "Tenta a Sorte"
VALUE "ProductVersion", "1.0.0.0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x0816, 1200
END
END
В качестве альтернативы вы можете использовать VS_VERSION_INFO
макрос, который предварительно определен в <winver.h>
, например:
#include <winver.h>
MAIN ICON "icon.ico"
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,0,0
PRODUCTVERSION 1,0,0,0
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "081604b0"
BEGIN
VALUE "Comments", "Tenta a tua Sorte!"
VALUE "CompanyName", "Adsglobal"
VALUE "FileDescription", "Jogo Simples"
VALUE "FileVersion", "1.0.0.0"
VALUE "InternalName", "Tenta a Sorte"
VALUE "LegalCopyright", "Copyright © Rodrigo Santos 2020"
VALUE "OriginalName", "Tenta a Sorte"
VALUE "ProductName", "Tenta a Sorte"
VALUE "ProductVersion", "1.0.0.0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x0816, 1200
END
END