Вот как добавить информацию. Это я из Локуса выдернул.
Только это не вся информация, которую надо бы (можно бы) добавлять.
Код: Выделить всё
#!---------------------------------------------------------------------------------------------------------------------------------------------------------
#EXTENSION(AnDS_32bitInfo,'AnDS: Обновление и отображение информации для 32bit-приложения'),APPLICATION, LAST
#!---------------------------------------------------------------------------------------------------------------------------------------------------------
#BOXED('')
#DISPLAY ('Добавить свойства файла к " ' & LOWER(%Application) & '.' & LOWER(%ProgramExtension) & ' "'), AT(30,30)
#PROMPT ('', CHECK), %UseResourceEditor, DEFAULT(%False), AT(10,30)
#DISPLAY
#ENABLE (%Target32 AND %UseResourceEditor)
#BOXED ('Информация в файле ресурса')
#PROMPT ('Комментарий', @s255), %ResComments
#PROMPT ('Производитель', @s255), %ResCompanyName
#PROMPT ('Описание', @s255), %ResFileDescription
#PROMPT ('Версия файла', @s255), %ResFileVersion
#PROMPT ('Внутреннее имя', @s255), %ResInternalName
#PROMPT ('Авторские права', @s255), %ResLegalCopyright
#PROMPT ('Товарные знаки', @s255), %ResLegalTrademarks
#PROMPT ('Исходное имя файла', @s255), %ResOriginalFilename
#PROMPT ('Вариант (Private Build)', @s255), %ResPrivateBuild
#PROMPT ('Название продукта', @s255), %ResProductName
#PROMPT ('Версия продукта', @s255), %ResProductVersion
#PROMPT ('Дополнительные сведения (Special Build)', @s255), %ResSpecialBuild
#ENDBOXED
#DISPLAY (' <169> - ALT + 184')
#DISPLAY (' <174> - ALT + 169')
#ENDENABLE
#ENDBOXED
#ATSTART
#IF (%Target32)
#INSERT (%ResourceEdit)
#ENDIF
#ENDAT
#GROUP (%ResourceEdit)
#! -------------------------------------------------------------------------
#DECLARE (%OutStack), MULTI
#DECLARE (%Pos)
#DECLARE (%StrAddr)
#DECLARE (%HighAddr)
#DECLARE (%LowAddr)
#DECLARE (%VarFileAddr)
#DECLARE (%DistVarFileAddr1)
#DECLARE (%DistVarFileAddr2)
#MESSAGE ('Compiling ' & %Application & '.RES resource file', 2)
#! **** RESOURCE HEADER *****
#INSERT (%OutOct, '', '', '', '')
#INSERT (%OutOct, ' ', '', '', '')
#INSERT (%OutOct, '<255>', '<255>', '', '')
#INSERT (%OutOct, '<255>', '<255>', '', '')
#INSERT (%OutOct, '', '', '', '')
#INSERT (%OutOct, '', '', '', '')
#INSERT (%OutOct, '', '', '', '')
#INSERT (%OutOct, '', '', '', '')
#! Adresse for start af "VarFileInfo"
#INSERT (%OutOct, ' ', '', '', '')
#INSERT (%OutOct, '<255>', '<255>', '<16>', '')
#INSERT (%OutOct, '<255>', '<255>', '<1>', '')
#INSERT (%OutOct, '', '', '', '')
#INSERT (%OutOct, '0', '', '<9>', '<4>')
#INSERT (%OutOct, '', '', '', '')
#INSERT (%OutOct, '', '', '', '')
#! Adresse for start af "VarFileInfo"
#INSERT (%OutOct, '4', '', '', '')
#INSERT (%OutStr, 'VS_VERSION_INFO')
#INSERT (%OutOct, '', '', '', '')
#INSERT (%OutOct, '<189>', '<4>', 'п', 'ю')
#INSERT (%OutOct, '', '', '<1>', '')
#INSERT (%OutOct, '', '', '<1>', '')
#INSERT (%OutOct, '', '', '', '')
#INSERT (%OutOct, '', '', '<1>', '')
#INSERT (%OutOct, '', '', '', '')
#INSERT (%OutOct, '?', '', '', '')
#INSERT (%OutOct, '', '', '', '')
#INSERT (%OutOct, '<4>', '', '<4>', '')
#INSERT (%OutOct, '<1>', '', '', '')
#INSERT (%OutOct, '', '', '', '')
#INSERT (%OutOct, '', '', '', '')
#INSERT (%OutOct, '', '', '', '')
#! Adresse pе start af "FileVerion" Streng
#INSERT (%OutOct, '', '', '<1>', '')
#INSERT (%OutStr, 'StringFileInfo')
#INSERT (%OutHex, '', '')
#! Lжngde til start af "VarFileInfo"
#INSERT (%OutHex, '<1>', '')
#INSERT (%OutStr, '040904b0')
#INSERT (%OutHex, '', '')
#! **** RESOURCE INFORMATION *****
#INSERT (%AddResInform, 'Comments', %ResComments)
#INSERT (%AddResInform, 'CompanyName', %ResCompanyName)
#INSERT (%AddResInform, 'FileDescription', %ResFileDescription)
#INSERT (%AddResInform, 'FileVersion', %ResFileVersion)
#INSERT (%AddResInform, 'InternalName', %ResInternalName)
#INSERT (%AddResInform, 'LegalCopyright', %ResLegalCopyright)
#INSERT (%AddResInform, 'LegalTrademarks', %ResLegalTrademarks)
#INSERT (%AddResInform, 'OriginalFilename', %ResOriginalFilename)
#INSERT (%AddResInform, 'PrivateBuild', %ResPrivateBuild)
#INSERT (%AddResInform, 'ProductName', %ResProductName)
#INSERT (%AddResInform, 'ProductVersion', %ResProductVersion)
#INSERT (%AddResInform, 'SpecialBuild', %ResSpecialBuild)
#! **** VARFILEINFO ****
#INSERT (%OutOct, 'D', '', '', '')
#SET (%VarFileAddr, ITEMS(%OutStack))
#SET (%DistVarFileAddr1, %VarFileAddr - 156)
#SET (%DistVarFileAddr2, %VarFileAddr - 192)
#INSERT (%OutHex, '<1>', '')
#INSERT (%OutStr, 'VarFileInfo')
#INSERT (%OutOct, '', '', '', '')
#INSERT (%OutOct, '$', '', '<4>', '')
#INSERT (%OutHex, '', '')
#INSERT (%OutStr, 'Translation')
#INSERT (%OutOct, '', '', '', '')
#INSERT (%OutOct, '<9>', '<4>', '<176>', '<4>')
#! **** DAN OG UDSKRIV FIL ****
#INSERT (%WriteResource)
#MESSAGE ('', 2)
#! -------------------------------------------------------------------------
#!
#! -------------------------------------------------------------------------
#GROUP (%OutOct, %Parm1, %Parm2, %Parm3, %Parm4)
#! -------------------------------------------------------------------------
#ADD (%OutStack, %Parm1)
#ADD (%OutStack, %Parm2)
#ADD (%OutStack, %Parm3)
#ADD (%OutStack, %Parm4)
#! -------------------------------------------------------------------------
#!
#! -------------------------------------------------------------------------
#GROUP (%OutHex, %Parm1, %Parm2)
#! -------------------------------------------------------------------------
#ADD (%OutStack, %Parm1)
#ADD (%OutStack, %Parm2)
#! -------------------------------------------------------------------------
#!
#! -------------------------------------------------------------------------
#GROUP (%OutStr, %Parm1)
#! -------------------------------------------------------------------------
#LOOP, FOR(%Pos, 1, LEN(%Parm1))
#ADD (%OutStack, SUB(%Parm1, %Pos, 1))
#ADD (%OutStack, '')
#ENDLOOP
#! -------------------------------------------------------------------------
#!
#! -------------------------------------------------------------------------
#GROUP (%AddResInform, %Parm1, %Parm2)
#! -------------------------------------------------------------------------
#IF (ITEMS(%OutStack) % 4)
#ADD (%OutStack, '')
#ADD (%OutStack, '')
#ENDIF
#IF (%Parm2)
#SET (%StrAddr, LEN(%Parm2) * 2 + LEN(%Parm1) * 2 + 10)
#IF (LEN(%Parm1) % 2)
#SET (%StrAddr, %StrAddr + 2)
#ENDIF
#INSERT (%AddStrAddr)
#SET (%StrAddr, LEN(%Parm1) * 2 + 2)
#INSERT (%AddStrAddr)
#INSERT (%OutHex, '<1>', '')
#INSERT (%OutStr, %Parm1)
#INSERT (%OutHex, '', '')
#IF (ITEMS(%OutStack) % 4)
#ADD (%OutStack, '')
#ADD (%OutStack, '')
#ENDIF
#INSERT (%OutStr, %Parm2)
#INSERT (%OutHex, '', '')
#IF (ITEMS(%OutStack) % 4)
#ADD (%OutStack, '')
#ADD (%OutStack, '')
#ENDIF
#ENDIF
#! -------------------------------------------------------------------------
#!
#! -------------------------------------------------------------------------
#GROUP (%AddStrAddr)
#! -------------------------------------------------------------------------
#SET (%HighAddr, %StrAddr / 256)
#SET (%LowAddr, %StrAddr % 256)
#ADD (%OutStack, CHR(%LowAddr))
#ADD (%OutStack, CHR(%HighAddr))
#! -------------------------------------------------------------------------
#!
#! -------------------------------------------------------------------------
#GROUP (%CalcAddr, %Parm1)
#! -------------------------------------------------------------------------
#SET (%HighAddr, %Parm1 / 256)
#SET (%LowAddr, %Parm1 % 256)
#! -------------------------------------------------------------------------
#!
#! -------------------------------------------------------------------------
#GROUP (%WriteResource)
#! -------------------------------------------------------------------------
#SET (%VarFileAddr, %VarFileAddr + 12)
#INSERT (%CalcAddr, %VarFileAddr)
#ADD (%OutStack, CHR(%LowAddr), 33)
#ADD (%OutStack, CHR(%HighAddr), 34)
#ADD (%OutStack, '', 35)
#ADD (%OutStack, '', 36)
#ADD (%OutStack, CHR(%LowAddr), 65)
#ADD (%OutStack, CHR(%HighAddr), 66)
#SET (%DistVarFileAddr1, %DistVarFileAddr1 + 8)
#INSERT (%CalcAddr, %DistVarFileAddr1)
#ADD (%OutStack, CHR(%LowAddr), 157)
#ADD (%OutStack, CHR(%HighAddr), 158)
#SET (%DistVarFileAddr2, %DistVarFileAddr2 + 8)
#INSERT (%CalcAddr, %DistVarFileAddr2)
#ADD (%OutStack, CHR(%LowAddr), 193)
#ADD (%OutStack, CHR(%HighAddr), 194)
#ADD (%OutStack, '', 195)
#ADD (%OutStack, '', 196)
#! *** Udskriv Fil ***
#DECLARE (%OutFile)
#SET (%OutFile, %Application & '.RES')
#DECLARE (%TempFile)
#SET (%TempFile, %Application & '.~RS')
#CREATE (%TempFile)
#FOR (%OutStack)
#IF (VAL(%OutStack))
%OutStack%|
#ELSE
%(CHR(0))%|
#ENDIF
#ENDFOR
#CLOSE (%TempFile)
#REPLACE (%OutFile, %TempFile)
#REMOVE (%TempFile)
#SET (%OutFile, %Application & '.PRJ')
#SET (%TempFile, %Application & '.~PJ')
#CREATE (%TempFile)
%('#message "linking ' & LOWER(%Application) & '.res into the application"')
%('#pragma link(' & %Application & '.RES)')
#CLOSE (%TempFile)
#REPLACE (%OutFile, %TempFile)
#REMOVE (%TempFile)
#PROJECT (%OutFile)