簡體   English   中英

對.exe和Form使用相同的圖標

[英]Using the same icon for .exe and Form

在我的WinForms應用程序中,如果我為應用程序設置了一個圖標,為表單設置了一個圖標,則該圖標在我的可執行文件中出現兩次。 有可能避免這種情況嗎?

(此問題以前在這里被問過,但是答案似乎並不能解決問題。vanmelle的答案似乎僅提取一個圖標(例如16x16),Sunlight的答案僅提取32x32,而lc的答案無法解決問題:可執行文件中仍然有重復的圖標。)

如果無法完成此任務,為什么會這樣? 在可執行文件和WinForms中很難使用的窗體中使用相同的圖標有什么用?

這是在完全不受管的操作系統上運行受管代碼的必然結果。 Windows資源管理器只知道如何讀取非托管資源。 您可以看到它們的外觀,在Visual Studio中使用File + Open + File,然后選擇.exe。 通常,您會在此處看到三個資源組:

  • RT_MANIFEST,包含告訴Windows您的程序支持Vista的清單。
  • 版本,包含文件版本資源,其值源自您的AssemblyInfo.cs文件。 在資源管理器中使用“屬性+詳細信息”選項卡時,可以看到其內容。 注意超級重要的[AssemblyVersion]在Vista和更高版本中不可見
  • 圖標,包含您添加的圖標。

此非托管資源數據您添加的托管資源是分開的。 托管資源被編譯到程序集清單中。 非托管資源存儲在映像文件的.rsrc部分中。 您可以使用/ win32res命令行選項覆蓋自動生成的版本。 這需要一個.res文件,這是一個由rc.exe資源編譯器從.rc資源腳本生成的二進制文件。 古老的Windows SDK工具。

這可能有一天會改變,有傳言稱超級秘密Midori項目將重點放在托管操作系統上。 現在,我們必須使用膠水。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM