Я был под впечатлением, что ресурс VERSIONINFO является чисто изобретением Windows, однако при чтении documentation я наткнулся на VOS_DOS
возможное значение fileos
параметра VERSIONINFO
определение определения ресурса. Аналогично, бинарный эквивалент, VS_FIXEDFILEINFO
struct имеет dwFileOS
член, который может иметь значение VOS_DOS
, обозначая, что «Файл был разработан для MS-DOS.» (??).Могут ли бинарные файлы DOS MZ вообще иметь метаданные VERSIONINFO?
Как это может быть? Я думал, что в бинарном формате MZ просто нет места для таких метаданных ... Я что-то упускаю, например, поддержка VERSIONINFO в более крупных версиях MS-DOS и какие-то библиотеки для ее чтения?
Ну ... файл может быть как действительным двоичным кодом DOS, так и действительным двоичным кодом Windows. Обычно это используется для того, чтобы предоставить исполняемому файлу Windows DOS-заглушку, которая просто печатает «запускать меня в Windows» или аналогичную, но я полагаю, что она может быть использована для предоставления исполняемого файла DOS заглушки Windows, которая просто печатает «запускать меня в DOS». Такой файл может содержать ресурс VERSIONINFO, и я полагаю, что 'VOS_DOS' будет логическим выбором для' fileos'. –
Ресурсы не обязательно связаны с исполняемыми файлами. Это всего лишь двоичный формат, его можно хранить в любом месте. Например, файл .res. –