首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >以编程方式在win 7中清除图标缓存-使用C#或Visual执行ie4uinit.exe-ClearIconCache

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

Stack Overflow用户
提问于 2013-09-18 14:14:26
回答 5查看 4.8K关注 0票数 2

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

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

ie4uinit.exe-ClearIconCache

我的问题是我不能从代码中运行它。我试过两次。

第一:

代码语言:javascript
运行
复制
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)

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

第二:

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

代码语言:javascript
运行
复制
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)

这一次,我没有错误,但甚至没有期望的效果。如果我双击批处理文件,一切正常。

我想调整其中一个过程,否则找到一个新的,以清除窗口图标缓存。C#或Visual并不重要.皮里吉

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-12-26 13:54:53

我找到了解决方案:我必须为“任意CPU”构建运行批处理文件的可执行文件,否则它就没有足够的权限来运行ie4unit。

在我尝试构建"x86“并在Win7 64位上运行该进程之前.

票数 1
EN

Stack Overflow用户

发布于 2013-09-23 21:00:28

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

票数 1
EN

Stack Overflow用户

发布于 2013-12-20 02:56:28

我也遇到了类似的问题,试图从Inno安装程序调用ie4uinit。路径确实包含了正确的系统目录;但是,执行"dir“并不显示文件存在。实际上,有超过100个*.exe文件无法从执行命令的任何shell中找到。打开Explorer或命令窗口会显示文件在那里(当然我们知道这一点)。我认为这是一个权限或访问问题。我没有耐心进一步跟踪它,只是将ie4uinit.exe复制到一个本地目录,并让我的安装程序在那里执行它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18874632

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档