为什么程序不杀死并重新启动explorer.exe?

时间:2009-05-18 17:36:28

标签: windows

我知道许多曾经安装过的程序(或对注册表的更新)都需要刷新值。这可以通过杀死并重新启动explorer.exe来完成,但是大部分都不会这样做,而是要求您重新启动计算机。这个过程需要很长时间。

我目前正在编写一个仅供技术人员使用的工具,它会对需要重新启动(或重新启动explorer.exe)的注册表进行一些更改才能生效。我不必担心我的用户被explorer.exe重新启动就吓坏了,所以这不是问题。

在此之前我还应该考虑什么?为什么其他应用程序会告诉您重启而不是更快的重启资源管理器?有安全理由吗?还是只是习惯?

10 个答案:

答案 0 :(得分:13)

杀死并重新启动资源管理器不会执行重新启动系统的所有操作:

1)任何当前正在运行的应用程序都不会刷新。

2)这也可能导致系统出现稳定性问题。特别是,我发现在浏览器关闭/重启后我的图形驱动程序没有正确更新的问题。

3)它只是一种气味;)作为安装的一部分杀死一个进程似乎很讨厌。

答案 1 :(得分:6)

我发现通知区域中的图标问题在资源管理器重新启动后没有显示(通常是在它停止响应后我必须将其删除)。

根据通知图标,这可能会导致用户出现问题。

答案 2 :(得分:6)

重新启动Windows是一项经过严格测试的操作。退出/退出也是。您可以预期所有第三方软件都已通过重启进行测试,几乎所有第三方软件都已通过注销进行测试,登录。

你认为通过杀戮和杀戮测试了多少? respawn explorer.exe?可能远没有那么多,当然也没有那么彻底。

所以,如果你在内部分发,在一个控制得很好的环境中,当然,继续杀死& respawn explorer.exe。但是不要这样做,因为你将用户的机器置于一个非常糟糕的测试状态,并且事情可能会神秘地破坏,直到他重新启动。

答案 3 :(得分:3)

有可能发生了其他需要更多的更改,而不是重新启动explorer.exe。另外正如您所说,重新启动explorer.exe对于最终用户来说可能非常惊人。

答案 4 :(得分:3)

资源管理器可能有未保存状态(打开窗口,文件夹视图设置等),如果突然重新启动,则会丢失。我讨厌它,如果安装程序会在没有询问的情况下杀死我的explorer.exe,我不确定我会认为这只是重新启动的改进。

在重新启动explorer.exe未处理的事项列表中,特别是替换当前正在使用的DLL和不监听注册表更改事件但从那里保存信息的程序(在explorer.exe之外)

答案 5 :(得分:1)

是否需要重新启动资源管理器?

我有一个应用程序,安装了一个性能监视器计数器,应该由我的应用程序和Perfmon共享(当它运行时),所以安装它应该只是为了确保应用程序关闭。简单...除了一个驱动程序(不记得哪一个或我的名字,羞辱制造商)加载每个 perfmon对象dll并保持它们全部锁定。因此,我的应用需要重新启动。

现在,如果您有一个工具可以确定哪些进程已锁定您要安装的文件,并提供关闭它们虽然用户必须决定,其中一个进程可能对Windows很重要(例如工作站服务,或svchost)或对用户很重要(例如,Word有一天未保存的工作)(这可能是一个不好的例子)。

答案 6 :(得分:1)

使用reboot选项而不是刷新explorer.exe。它已经预料到,Windows上的大多数软件安装使用重启,因此用户习惯于在安装软件时重新启动,这使他们有机会关闭任何其他窗口并保存数据。其次,正如已经指出的那样,重新启动explorer.exe会在没有警告的情况下清空当前屏幕,并使其看起来好像出现问题并且所有信息都丢失了。

答案 7 :(得分:1)

在注册表中有很多事情可以在下次重启时发生;例如,“RunOnce”键下的条目会在下次启动时运行一次。有很多安装应用程序依赖于这种行为;并且由于Microsoft没有弃用该功能或​​找到了一个好的解决方法,人们一直在编写期望此功能并依赖于它的软件。

答案 8 :(得分:0)

重新启动资源管理器具有废弃用户当前环境的不幸副作用。如果您只是杀死explorer.exe,那么任务栏按钮,待处理操作等等都将丢失。

答案 9 :(得分:0)

为什么不让用户选择是重启还是重启资源管理器。

请记住,普通用户不会知道这意味着什么或需要什么,因此请确保您的用户确实“足够技术”。