Решение на самом деле довольно простое, хотя мне потребовалось вспомнить мою первую встречу с RC-файлами ...
В текстовом файле вы можете написать следующее
#include <windows.h>
// The following is some Win32 candy for
// -- the Windows styles in XP, Vista & 7
// does the UAC too.
1 RT_MANIFEST "App.manifest"
// -- the versioning info, which we find usually in
// AssemblyInfo.cs, but we need to add this one
// because including Win32 resources overrides the .cs
// file!
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,0,0
PRODUCTVERSION 1,0,0,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
FILEFLAGS VS_FF_DEBUG
FILEOS VOS__WINDOWS32
FILETYPE VFT_DLL
FILESUBTYPE VFT2_UNKNOWN
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904E4" // en-US/cp-1252
BEGIN
VALUE "CompanyName", "My Company"
VALUE "ProductName", "My C# App"
VALUE "ProductVersion", "1.0.0.0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1252 // en-US in ANSI (cp-1252)
END
END
END
// And now the icons.
// Note that the icon with the lowest ID
// Will be used as the icon in the Explorer.
101 ICON "Icon1.ico"
102 ICON "Icon2.ico"
103 ICON "Icon3.ico"
(Подробности о структуре VERSIONINFO можно найти в MSDN: VERSIONINFO
структура )
Вы компилируете, используя rc
, который должен быть либо частью VS, либо в Windows Platform SDK.
Результатом компиляции вашего .rc
файла является файл .res
, который можно включить в страницу свойств вашего проекта C # или добавить следующее в сам файл .csproj
.
<Win32ResourceFile>C:\path\to\my\resource\file.res</Win32ResourceFile>
Скомпилируйте ваш проект и посмотрите в проводнике, там должна быть информация и значки.
Компилятор CSC также предоставляет переключатель /win32res
, который встраивает файл .res
в ваше приложение.
Надеюсь, это поможет!