gpt4 book ai didi

windows - 使 Windows 刷新图标缓存

转载 作者:可可西里 更新时间:2023-11-01 13:28:53 25 4
gpt4 key购买 nike

我真的很喜欢 KDE SC 4 的氧气外观。我写了一个程序来将这些图标应用到 Windows。该程序是用 NSIS 编写的,目前几乎可以正常运行。但是,我发现让 Windows 知道图标更改的唯一方法是终止 explorer.exe,删除图标缓存,然后重新生成 explorer.exe。 SHChangeNotifySHCNE_ASSOCCHANGED 似乎无法让 Windows 意识到控制面板图标、“我的电脑”图标等的更改。请提出一个更好、更简单的方法来让 Windows 了解这些更改。

编辑: 我发现一个名为 Icon Tweaker 的程序似乎能够执行此操作,但它是封闭源代码,所以我不知道它是如何做到这一点的。 (IconTweaker:http://www.crystalxp.net/galerie/en.id.83-icontweaker.html)

编辑:感谢 Anders 的回复(见下文),我的这个工作正常。但是,我只是将我的工作 NSIS 代码放在这里,以防其他人需要它

ReadRegStr $0 HKCU "Control Panel\Desktop\WindowMetrics" "Shell Icon Size"
IntOp $0 $0 + 1
WriteRegStr HKCU "Control Panel\Desktop\WindowMetrics" "Shell Icon Size" $0
SendMessage 0xffff 0x001A 42 0 /TIMEOUT=100000
IntOp $0 $0 - 1
WriteRegStr HKCU "Control Panel\Desktop\WindowMetrics" "Shell Icon Size" $0
SendMessage 0xffff 0x001A 42 0 /TIMEOUT=100000

$0 寄存器用于存储 HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetricsShell Icon Size 值。然后我们增加该值并执行 SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, SPI_SETNONCLIENTMETRICS, 0, SMTO_ABORTIFHUNG, 100000, NULL),然后减少并重新发送。

编辑:作为奖励,这可以用作在 Windows XP 上获得更大(Windows 7 大小)桌面图标的 hack。只需将 Shell Icon Size 值加倍并调用 SendMessage(不要执行恢复大小的第二次更改)

最佳答案

您可以只运行以下命令行:

c:\Windows\System32\ie4uinit.exe -ClearIconCache

该命令行将删除您的缓存图标而无需重新启动资源管理器

关于windows - 使 Windows 刷新图标缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3243317/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com