运行以下(hacky)代码将正常关闭explorer.exe,但会将其重新打开为窗口(而不是任务栏)。
FindWindow $R0 "Shell_TrayWnd"
SendMessage $R0 0x5B4 0 0
Exec "explorer"
但是,如果我从cmd窗口输入“explorer”,它会打开任务栏就好了。
有人肯定会问“为什么要杀死explorer.exe?” - 对于这些人,我说,“shell扩展:|”
答案 0 :(得分:0)
您可以尝试在Exec调用之前添加Sleep。 (Explorer调用未记录的shell函数将自己注册为Progman + Taskbar,如果旧的资源管理器进程仍然存在,则此调用将失败)
当然还有其他问题。如果您在HKCR / HKLM注册,可能还有其他应用程序也会加载您的扩展程序,甚至还有其他资源管理器。