1

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

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

编辑

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

注意:我可以通过重新启动计算机来逃避 app/shell/whatever。我只是想让切换到分心变得非常不方便,并且我想了解更多关于 Windows API 的信息。

4

1 回答 1

1

有关编写 shell 的详细信息,请参阅此问题

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

  2. 当 explorer.exe 启动并检测到不同的 shell 时,它不会显示任务栏,只是一个文件浏览器窗口。Explorer 还会查看注册表 IIRC 中的shell值。您可能还想查看退出技巧的转变

于 2012-05-24T03:11:23.593 回答