微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我如何启动资源pipe理器使用c#中的进程类

我已经用我的应用程序取代了Windowsshell,它完美的工作,closures我的应用程序后,我必须启动Windows资源pipe理器与下面的一段代码

代码启动资源pipe理器

Process.Start(@"c:windowsexplorer.exe");

我用来replaceshell的registry项

HKEY_Local_MachinesoftwareMicrosoftwindowsNTCurrentVersionWinlogonShell

不显示任务栏和开始菜单,它只显示mydocuments文件夹。 在资源pipe理器启动后,我需要启动菜单和任务栏

未定义的Python DLLvariables引用

如何区分服务器发送的两个不同的SIGUSR2信号?

在Linux中获取有关进程的信息

退出SSH会话之后坚持一个sbt进程的最合适的方法是什么?

进程在Linux中终止时文件描述符是否closures?

DLL地狱:SnacNp64.dll + gtkD

Windows中活动进程列表的用途?

将Delphi代码移植到64位 – 为什么没有编译器警告?

我怎样才能用Perl杀死整个进程树呢?

过程的已知/logging/未分类方法开始监测的是什么?

我的猜测是,因为资源管理器没有被定义为shell,它不会像shell一样运行。 我认为你必须改变注册表设置才能让Explorer再次运行之前。

所以,正如你写的,你用自己的版本替换了注册表中的shell。 所以这是由你来显示一个开始菜单,等等。如果你想启动一个资源管理器,让它作为一个shell,继续用旧的替换注册表中的条目。

由于事实,你喜欢再次成为壳,下次开始,也许下面的技巧将做到这一点:

Prerequisities:

把你的程序放在注册表中作为shell并启动windows

你的程序运行,并希望启动资源管理器作为壳

行动到:

注册表中的条目替换为包含explorer的条目作为shell

启动资源管理器

注册表中的条目作为shell程序替换回您的应用程序

等到下次开机…

在重新启动浏览器之前,您可能必须杀死现有的shell进程(即您的应用程序)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐