大家好,
我正在开发一个 Windows 程序,其安装需要重新启动 explorer.exe。我知道“重新启动计算机以完成安装”是这里的标准方法,但我希望我的安装程序可以让用户选择只重新启动资源管理器,以便他们可以立即开始使用我的程序。最好的方法是什么?当然,我可以找到并终止该进程,但这似乎很恶心。是否有一些技巧可以让 Explorer 认为用户正在注销并干净地关闭?
谢谢!
大家好,
我正在开发一个 Windows 程序,其安装需要重新启动 explorer.exe。我知道“重新启动计算机以完成安装”是这里的标准方法,但我希望我的安装程序可以让用户选择只重新启动资源管理器,以便他们可以立即开始使用我的程序。最好的方法是什么?当然,我可以找到并终止该进程,但这似乎很恶心。是否有一些技巧可以让 Explorer 认为用户正在注销并干净地关闭?
谢谢!
我可以尝试调用 ExitProcess 或 TerminateProcess 来停止 explorer.exe。
我不知道你是否可以实现这个,但我从以下位置下载了 PsTools:
http://technet.microsoft.com/en-us/sysinternals/bb896649
然后我编写了以下批处理文件,该文件杀死然后执行 explorer.exe 进程:
pskill explorer.exe
psexec -d explorer.exe
exit
您还可以尝试在 TechNet 站点上与 PSTools Mark Russinovich 的作者取得联系。
我在我的后期构建事件中使用 powershell,如下所示:
get-process explorer | kill
它通常会自动重启正常