它被杀死后重新打开任务栏(explorer.exe)?

时间:2012-02-19 21:57:38

标签: c# windows-7 cmd explorer taskbar

我正在编写一个小程序来修复16位程序的兼容性问题。此修复程序是关闭explorer.exe,因为资源管理器会覆盖程序中的某些调色板。之后,我们重新开放探险家。

使用.bat文件时,它可以工作:

@ECHO OFF
taskkill /f /IM explorer.exe
EmStraditionX.exe
start /B explorer.exe

此方法并不理想,因为它需要额外的文件才能下载。为了简单起见,假设我不可能分发超过C#兼容性程序。

我的第一个想法只是Process.Start("explorer.exe"),但这不起作用,而只是在浏览器窗口中打开'Libraries'文件夹,而不再使任务栏可见。

然后我尝试使用与批处理文件相同的命令,除了这样:Process.Start("cmd.exe", "/C start /B explorer.exe"),它再次无效。

有谁知道如何从C#重新打开任务栏?

谢谢, Ruirize。

2 个答案:

答案 0 :(得分:4)

使用:

Process.Start(Environment.SystemDirectory + "\\..\\explorer.exe");

完整路径将使其正常工作

马丁

答案 1 :(得分:0)

您是否也在兼容性选项中使用“以管理员身份运行”功能?

如果您这样做 - 您将从另一个会话启动资源管理器,而您无法看到在其他(管理员)会话中运行的窗口。