【问题标题】:Folder icon change doesn't take effect文件夹图标更改不生效
【发布时间】:2012-09-13 23:38:15
【问题描述】:

我通过注册表项更改默认系统文件夹图标

Reg := TRegistry.Create; 
try 
  Reg.RootKey := HKEY_LOCAL_MACHINE;
  Reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Icons', True);
  Reg.WriteString('3', 'C:\MyIcon.icl,0');
finally
  RegFile.Free;
end;

我可以更改注册表值,但问题是我需要重新启动操作系统才能使其生效。

我试过修复它:

SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0);

和:

SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil);

它在 WinXP 上工作,但在 Win7 上不工作。

如何在 Win7 上修复它?

【问题讨论】:

  • 删除 IconCache.db 可以避免重启
  • 我已尝试删除 IconCache.db。它不起作用
  • icl文件是图标库
  • 我什至尝试翻译 TortoiseSVN 的 强制通知 方式,但没有成功。在this question的回答中有所描述。
  • 看看here。特别是sledgehammer approach。非常讨厌...

标签: windows delphi winapi registry


【解决方案1】:

尝试从任务管理器“结束任务”进程“explorer.exe”,

然后重新启动它(运行 -> explorer.exe),

如果通过此过程您可以看到更新的图标,请尝试以编程方式执行此操作,这样您就不必重新启动。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-02
    • 1970-01-01
    • 2012-03-08
    • 1970-01-01
    • 2012-09-27
    • 2013-02-06
    • 2017-12-01
    • 1970-01-01
    相关资源
    最近更新 更多