使当前的explorer.exe窗口选择一个文件

时间:2015-02-27 10:53:51

标签: c# explorer

我的程序在后台运行,我想要它,因为我在例如My Music文件夹中打开了explorer.exe窗口以选择(未打开)" test.txt"。但是当我运行我的代码时(见下文)它打开一个新窗口,选择了文件。我希望它只是在已经打开的窗口上选择文件。

代码:

string pathname = "c:\DocTest\Test.txt";
ProcessStartInfo l_psi = new ProcessStartInfo();
l_psi.Filename = "Explorer";
l_psi.Arguments = string.Format(@"/select, " + @ "" + pathname);
l_psi.UseShellExecute=true;
Process l_newProcess = new Process();
l.newProcess.StartInfo = l_psi;
l_newProcess.Start();

请记住两点:
- 我不希望它打开文件,只在文件夹上选择它
- 我不想让它打开一个新的资源管理器窗口,只需使用已经打开的窗口

感谢阅读:)

1 个答案:

答案 0 :(得分:0)

Microsoft Support

上找到
  

语法

     

EXPLORER.EXE [/ n] [/ e] [,/ root,] [[,/ select],]   开关

     

/ n:在单窗格(我的电脑)视图中为每个窗口打开一个新窗口   项目        选中,即使新窗口复制了一个窗口        已经开放了。

     

/ e:使用Windows资源管理器视图。 Windows资源管理器视图最相似        Windows版本3.x中的文件管理器。请注意默认视图        是开放视图。

     

/ root,:指定指定视图的根级别。该                    默认是使用普通的命名空间根(                    桌面)。无论指定什么是根的                    显示。

     

/ select,:指定接收初始文件的文件夹                          焦点。如果使用“/ select”,则为父文件夹                          打开并选择指定的对象。

没有提及重复使用打开的资源管理器,因此可能无法实现。