如何使用NSIS安装程序重新启动explorer.exe?

时间:2014-01-28 15:46:31

标签: nsis

运行以下(hacky)代码将正常关闭explorer.exe,但会将其重新打开为窗口(而不是任务栏)。

FindWindow $R0 "Shell_TrayWnd"
SendMessage $R0 0x5B4 0 0
Exec "explorer"

但是,如果我从cmd窗口输入“explorer”,它会打开任务栏就好了。

有人肯定会问“为什么要杀死explorer.exe?” - 对于这些人,我说,“shell扩展:|”

1 个答案:

答案 0 :(得分:0)

您可以尝试在Exec调用之前添加Sleep。 (Explorer调用未记录的shell函数将自己注册为Progman + Taskbar,如果旧的资源管理器进程仍然存在,则此调用将失败)

当然还有其他问题。如果您在HKCR / HKLM注册,可能还有其他应用程序也会加载您的扩展程序,甚至还有其他资源管理器。