我想使用任务栏等启动资源管理器进程,但是当我启动它时(在代码中)我只有文件浏览器的窗口打开,而不是其余的.但是如果我在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.