在windows中支持两个shell

时间:2012-05-23 22:43:05

标签: windows-7

我想编写自己的(非常简单的)explorer.exe替代方案,我可以在不必重新启动计算机的情况下主动切换。

  1. 是否可以同时运行两个shell(或编写暂时禁用当前shell的程序)?
  2. 如果没有,是否可以在没有重新启动的情况下停止资源管理器,让我的shell自行启动?
  3. 修改

    更多信息:我想为自己编写一个简单的生产力工具。我想建立一个非常简单的任务管理器,阻止我启动/打开/使用除了我提前列出的白名单应用程序之外的任何东西。在我设置的任何时间段内锁定我的应用程序集。如果有另一种(更好的)方法来阻止人们关闭我的应用程序,从我的应用程序(使用alt-tab等)切换我都是耳朵。

    注意:我可以通过重新启动计算机来解决app / shell /无法逃脱的问题。我只是想让它变得非常不方便而转向分心,我想学习更多关于Windows API的知识。

1 个答案:

答案 0 :(得分:1)

有关编写shell的详细信息,请参阅this question

  1. 不,只有一个真正的 shell进程(SetShellWindowEx仅在没有其他shell进程时才有效)WH_SHELL可以被其他进程使用,它可能是足以满足您的需求(可能与IShellExecuteHook结合使用)

  2. 当explorer.exe启动并且它检测到不同的shell时,它将不会显示任务栏,只显示文件浏览器窗口。 Explorer还会查看注册表IIRC中的shell值。您可能还想查看shift to exit trick