解決辦法其實很簡單,但它要求我回想起我和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
structure)
使用rc
進行編譯,該應用程序應該是VS的一部分,或者在Windows平臺SDK中進行編譯。 .rc
文件的編譯結果是一個.res
文件,它可以包含在C#項目的屬性頁中 - 或者在.csproj
文件本身中添加以下內容。
<Win32ResourceFile>C:\path\to\my\resource\file.res</Win32ResourceFile>
編譯你的項目,並在資源管理器中查看,信息和圖標應該在那裏。
CSC編譯器還提供了一個/win32res
開關,將.res
文件嵌入到您的應用程序中。
希望這會有所幫助!