c# - 以编程方式清除 win 7 中的图标缓存 - 使用 C# 或 Visual Basic 执行 ie4uinit.exe-ClearIconCache

标签 c# vb.net caching batch-file icons

我们更改了 WPF 应用程序的 Logo 图标,然后更改了主可执行文件的图标。在我的 Win 7 电脑上,刷新图标缓存时出现问题:主可执行文件的桌面快捷方式以及可执行文件图标的预览在 Windows 资源管理器中仍然显示旧图标。 即使重新启动系统,问题仍然存在。

我发现运行此命令可以解决问题:

ie4uinit.exe-ClearIconCache

我的问题是我无法从代码运行它。我做了两次尝试。


第一:

Dim si As New ProcessStartInfo()
si.CreateNoWindow = False
si.UseShellExecute = False
si.FileName = "ie4uinit.exe"
si.WindowStyle = ProcessWindowStyle.Hidden
si.Arguments = "-ClearIconCache"
Dim p As Process = Process.Start(si)

错误:“找不到指定的文件” - 我尝试输入完整路径,但仍然找不到该文件


第二:

我将命令放入批处理文件中

Dim si As New ProcessStartInfo("C:\test.bat")
si.UseShellExecute = False
si.RedirectStandardError = True
si.RedirectStandardInput = True
si.RedirectStandardOutput = True
si.CreateNoWindow = True
si.ErrorDialog = False
si.WindowStyle = ProcessWindowStyle.Hidden
Dim p As Process = Process.Start(si)

这次我没有收到任何错误,但甚至没有达到预期的效果。如果我双击批处理文件,则一切正常。

我想调整其中一个程序,否则寻找一个新程序来清除 Windows 图标缓存。 C# 或 Visual Basic 并不重要... 皮莱吉

最佳答案

也许它不会在路径中搜索它,请尝试使用: 作为路径“%WINDIR%\System32\ie4uinit.exe”, 如果这不起作用尝试“C:\Windows\System32\ie4uinit.exe”

关于c# - 以编程方式清除 win 7 中的图标缓存 - 使用 C# 或 Visual Basic 执行 ie4uinit.exe-ClearIconCache,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18874632/

相关文章:

c# - Selenium webdriver 选择新窗口 c#

c# - streamwriter 不能正确保存 unicode 文件

vb.net - 伪代码检查。需要验证分配

caching - 理解Redis,笼统的缓存概念

java - JACOB 库的有效 COM 结构是什么?

c# - TableLayoutPanel 显示垂直滚动

c# - 是否存在任何NON-GPL/AGPL病毒扫描库?

javascript - 如何以 asp.net 形式从 jquery 调用服务器端 VB.net 函数?

python - Django 提供过时的表单验证选项

python - 浏览器在 flask 中缓存静态文件?