這麼久以來,我按照說明在這裏讓我的程序在雙擊特定文件類型時打開。 http://www.dreamincode.net/forums/topic/58005-file-associations-in-visual-studio/在Visual Studio中不更新的文件類型圖標
我包含一個圖標以與指定的文件類型相關聯。出現的問題是,當我回去更新/更改該圖標圖像並嘗試重新安裝程序的較新版本時,會使用舊圖標,而不是我將其更改爲在Visual Studio中的圖標...
這麼久以來,我按照說明在這裏讓我的程序在雙擊特定文件類型時打開。 http://www.dreamincode.net/forums/topic/58005-file-associations-in-visual-studio/在Visual Studio中不更新的文件類型圖標
我包含一個圖標以與指定的文件類型相關聯。出現的問題是,當我回去更新/更改該圖標圖像並嘗試重新安裝程序的較新版本時,會使用舊圖標,而不是我將其更改爲在Visual Studio中的圖標...
嘗試使用SHChangeNotify
[DllImport("shell32.dll", CharSet = CharSet.Auto, SetLastError = true)]
private static extern void SHChangeNotify(int wEventId, int uFlags, IntPtr dwItem1, IntPtr dwItem2);
SHChangeNotify(0x08000000, 0x0000, (IntPtr)null, (IntPtr)null);//SHCNE_ASSOCCHANGED SHCNF_IDLIST
因此,在嘗試調用SHChangeNotify之後,它似乎不會令人耳目一新。我發現有趣的是我的程序中的打開文件對話框(使用C#庫)顯示更新的圖標,但如果我要通過Windows資源管理器,文件圖標保持不變(這發生在使用SHChangeNotify之前) –
有兩個步驟,以使該圖標更新:1,覆蓋項目文件夾中的舊.ico文件(或者無論它的保留)與新文件 - 這將更新應用程序屬性中的圖標。 2.編輯Mainform,轉到圖標屬性並重新選擇圖標文件 - 這將更新窗口和任務欄上顯示的圖標。
操作系統保留這些圖標的緩存。這可能是你問題的根源。如果是這樣,清除緩存應該修復它。嘗試搜索「Windows圖標緩存重建」。 – phoog