我正在從資源檔案加載我的圖示,如下所示:
wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON1));
wcex.hIconSm = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON1));
我還從資源和檔案夾中洗掉了 Visual Studio 默認 ico,因此它只有我提供的 .icos 和 .bmps。LoadIcon 作業正常,但是如果我打開可執行檔案所在的 Visual Studio 檔案夾,它仍然具有來自 microsoft 的默認圖示,而不是我加載的那個。

如果我將可執行檔案移動到任何其他檔案夾,它將更改為我設定的圖示,這是為什么?為什么即使我洗掉了VS仍然使用默認圖示?
uj5u.com熱心網友回復:
如果我打開可執行檔案所在的 Visual Studio 檔案夾,它仍然具有微軟的默認圖示
其他程式(如 Windows 資源管理器)顯示的圖示與您顯示的代碼無關——您的程式甚至沒有運行。
您顯示的代碼更改了與您的視窗類相關聯的圖示,從而更改了您的主視窗。在程式運行時,它會出現在視窗的左上角、任務欄等處。
查看 EXE 檔案時顯示的圖示僅基于按數字順序排列的第一個圖示資源(資源編輯器允許您分配的符號名稱對哪個圖示是“第一個”沒有影響)。
根據您的附加說明
如果我將可執行檔案移動到任何其他檔案夾,它將更改為我設定的圖示
似乎您已成功更改圖示,并且它在構建目錄中顯示錯誤的唯一原因是陳舊的 Windows 資源管理器圖示快取。
有關如何強制更新快取的說明,請參閱 SuperUser Q&A Refresh Icon Cache without Rebooting。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/361969.html
標籤:C 视觉工作室-2010 登录
