-1

我在 C# 中创建了一个 Windows 资源管理器工具栏。卸载我的应用程序时删除了此工具栏,但在取消注册后仍会显示(缓存在 explorer.exe 中)。explorer.exe 需要重新启动才能使工具栏消失。如何通过 C# 代码解决此问题?

4

3 回答 3

1

如果不要求用户注销,真的没有办法干净地做到这一点。

如果有关闭工具栏的编程访问,您可以将一些代码注入每个加载了您的 dll 的资源管理器进程并关闭工具栏,然后调用 CoFreeUnusedLibraries (仍然有些hacky,但您不必杀死进程)

于 2010-04-09T22:20:15.753 回答
0

如果已正确卸载,我不确定资源管理器是否会缓存工具栏。我对这些事情知之甚少,但你确定你没有错过安装程序中的取消注册调用吗?

于 2010-04-01T14:59:55.563 回答
-5
foreach(Process p in Process.GetProcesses()){

try{

if(p.MainModule.ModuleName.Contains("explorer") == true)p.Kill();

}
catch(Exception e){}

Process.Start("explorer.exe");

}

试一试。

于 2010-03-29T16:43:43.283 回答