无法在c#中启动资源管理器进程,只能启动窗口文件资源管理器

del*_*io2 4 .net c# process

我想使用任务栏等启动资源管理器进程,但是当我启动它时(在代码中)我只有文件浏览器的窗口打开,而不是其余的.但是如果我在taskManager中执行"explorer.exe"它就可以了.就在我在Windows 7 64位机器上执行它时.在Windows 7 32位上,它可以工作!我们怎样才能为64位Windows做到这一点?

这是我的代码:

Process Appli = new Process();
Appli.StartInfo.FileName = "explorer.exe";
Appli.StartInfo.UseShellExecute = false;
Appli.StartInfo.RedirectStandardOutput = false;
Appli.Start();
Run Code Online (Sandbox Code Playgroud)

当它执行时,我只有桌面(没有图标)和窗口文件浏览器.

我的属性平台为这个项目是"任何CPU"

有人可以帮我吗?

非常感谢!

小智 5

即使您指定AnyCPU,Visual Studio也可以默认指定"prefer 32 bit"选项.如果是这种情况,那么它生成的explorer.exe将是一个32位进程,不会是shell.

如果您关闭项目属性/ Build下的"prefer 32 bit"标志,那么您的应用程序将作为64位应用程序运行,并将产生64位explorer.exe作为shell.