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

C# 使当前explorer.exe窗口选择一个文件,c#,explorer,C#,Explorer,我的程序在后台运行,我想要它,因为我打开了explorer.exe窗口,例如在我的音乐文件夹中选择(未打开)“test.txt”。但当我运行代码(见下文)时,它会打开一个新窗口,其中包含选定的文件。我希望它只选择已经打开的窗口上的文件 代码: 请记住两点: -我不想让它打开文件,只想在文件夹中选择它 -我不希望它打开一个新的资源管理器窗口,只需要使用已经打开的窗口 感谢阅读:)如上所示 语法 EXPLORER.EXE[/n][e][,/root,][[,/select],] 开关 /n:在单窗

我的程序在后台运行,我想要它,因为我打开了explorer.exe窗口,例如在我的音乐文件夹中选择(未打开)“test.txt”。但当我运行代码(见下文)时,它会打开一个新窗口,其中包含选定的文件。我希望它只选择已经打开的窗口上的文件

代码:

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

感谢阅读:)

如上所示

语法

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

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

/e:使用Windows资源管理器视图。Windows资源管理器视图最为相似 到Windows 3.x版中的文件管理器。请注意,默认视图 这里视野开阔

/root,:指定指定视图的根级别。这个 默认情况下,使用普通名称空间根( 桌面)。指定的内容是 展示

/选择,:指定要接收初始文件的文件夹 集中如果使用“/选择”,则父文件夹 打开并选择指定的对象


没有提到重用开放式资源管理器,因此这可能是不可能的。

除非这纯粹是供您自己使用,否则这听起来像是一个糟糕的设计。用户可以打开多个资源管理器窗口,并且倾向于将这些窗口视为“他们的”。你随机劫持其中一个窗口将不是一个愉快的体验。它不是这样做的,我设计它的方式只适用于前台窗口。我有一个解决方案,但我使用Delphi。如果对你有帮助的话,我可以把它贴出来。它必须是c#,不过还是要谢谢你:)我不明白。你需要我的解决方案吗?:)我明白了,但一定有别的办法。。我并不是说我必须使用我以前展示过的方法,但是任何其他方法对我来说都是好的:b
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();