繁体   English   中英

的Process.Start(“EXPLORER.EXE”); 不会带回任务栏

[英]Process.Start(“explorer.exe”); won't bring back taskbar

截至目前,我正在通过WinForms开发一个模拟操作系统,用作电影的道具。 在运行应用程序时,它会杀死explorer.exe,以便您在拍摄期间不会意外地显示Windows任务栏。 问题是,关闭模拟操作系统后,我想再次启动explorer.exe。 但是, Process.Start("explorer.exe"); 打开一个资源管理器窗口,不会重新启动窗口任务栏。

我知道,事实上,任务管理器能够通过在新任务下键入“explorer.exe”来恢复窗口任务栏,尽管我没有找到传递给任务管理器的命令行参数。

编辑:我在Windows 7下运行。同样,我正在深入研究这个模拟操作系统。 我控制了Windows使用的很多按键。 出于这个原因,我杀了explorer.exe,以便我可以使用按键,如“Alt-Tab”,并显示模拟应用程序切换器等。该应用程序已经全屏运行,但它仍然可以有基础Windows GUI弹出备份。 我基本上用我自己的模拟探索器替换explorer.exe。 关闭我的自定义资源管理器后,我似乎无法通过Process.Start();启动explorer.exe来获取常规Windows GUI Process.Start();

这里

尝试

Process.Start(Path.Combine(Environment.GetEnvironmentVariable("windir"), "explorer.exe"));

您似乎必须指定资源管理器的完整路径才能恢复任务栏。

这里

Explorer必须看到一些已满足的条件才能作为shell启动:

  1. 资源管理器不能运行(例如,包括控制面板)
  2. 资源管理器必须看到它是实际的shell - 因此您需要在启动explorer.exe之前替换该值(可能会在几秒钟后将其更改回来)
  3. 有时似乎(在较新的Windows版本上)它取决于启动explorer.exe的进程 - 如果它是“已知”到explorer.exe - 我没有任何关于此部分的详细信息(并且你不能不幸的是,改变它

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM