长话短说,我按照此处的说明在双击特定文件类型时打开我的程序。 http://www.dreamincode.net/forums/topic/58005-file-associations-in-visual-studio/
我包含了一个与指定文件类型相关联的图标。出现的问题是,当我返回更新/更改该图标图像并尝试重新安装较新版本的程序时,使用的是旧图标,而不是我在 Visual Studio 中将其更改为的那个...
长话短说,我按照此处的说明在双击特定文件类型时打开我的程序。 http://www.dreamincode.net/forums/topic/58005-file-associations-in-visual-studio/
我包含了一个与指定文件类型相关联的图标。出现的问题是,当我返回更新/更改该图标图像并尝试重新安装较新版本的程序时,使用的是旧图标,而不是我在 Visual Studio 中将其更改为的那个...
该图标可能缓存在外壳图标缓存中。在 NT6 上删除%USERPROFILE%\AppData\Local\IconCache.db
(并杀死资源管理器或注销)或在旧系统上使用TweakUI 。
Try using 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
更新图标有两个步骤: 1. 用新文件覆盖项目文件夹(或保存的任何位置)中的旧 .ico 文件 - 这将更新应用程序属性中的图标。2. 编辑主窗体,转到图标属性并重新选择图标文件 - 这会更新窗口和任务栏上显示的图标。