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