相关疑难解决方法(0)

如何选择特定文件打开资源管理器?

我想编写一个可以传递文件路径的函数,例如:

C:\FOLDER\SUBFOLDER\FILE.TXT
Run Code Online (Sandbox Code Playgroud)

它将打开包含该文件的文件夹的Windows资源管理器,然后在该文件夹中选择此文件.(类似于许多程序中使用的"在文件夹中显示"概念.)

我怎样才能做到这一点?

c# vbscript winapi

42
推荐指数
2
解决办法
3万
查看次数

C#:如何打开选择了多个文件的Windows资源管理器窗口

在Windows Media Player库中,您可以选择一个或多个音乐文件.然后,您可以右键单击并在其上下文菜单中选择" 打开文件位置".这将为文件所在的每个目录打开一个Windows资源管理器窗口,并为您选择文件.

所以我们假设我们的库里有一堆mp3文件,其中有三个是这样的:

  • Z:\音乐\周四布鲁斯\ 01.我希望它是星期五.mp3
  • Z:\ Music\Counting Sheep\01.绵羊#1.mp3
  • Z:\ Music\Counting Sheep\02.绵羊#2.mp3

如果我们选择这三个(在所有这些都可见的视图中)并打开文件位置,则会弹出两个浏览器窗口.一会是Z:\音乐\周四蓝调文件夹01.我想这是friday.mp3选择,而另一个将是*Z:\音乐\数羊**与两个文件夹01.羊#1. mp302.选择绵羊#2.mp3.

我怎么能在C#中自己做这个?我们有一个应用程序将数据导出为各种格式,例如CSV和Excel,我想打开资源管理器窗口,在创建这些文件并准备好查看时选择这些文件.目前我只是这样做Process.Start(path),但这很有效,但我也希望能够突出显示这些特定文件.会使刚刚创建的文件更加明显.


Windows Media Player做得很好......我也想这样做= /这里是否有任何微软员工可以弄清楚如何做到这一点?(一个)

c# directory file windows-explorer

22
推荐指数
2
解决办法
3万
查看次数

实现"打开包含文件夹"并突出显示文件

这可以是在与文件/文件夹一起使用的程序中具有的便利功能.使用以下方法实际打开包含文件夹很容易:

System.Diagnostics.Process.Start( *path to folder* );
Run Code Online (Sandbox Code Playgroud)

...但是如何在该父文件夹中实际选择目标文件?如果我使用Process.Start方法,它实际上会尝试打开该文件.

.net c# file windows-explorer

21
推荐指数
2
解决办法
1万
查看次数

打开文件所在位置

在Windows资源管理器中搜索文件并右键单击搜索结果中的文件时; 有一个选项:"打开文件位置".我想在我的C#WinForm中实现相同的功能.我这样做了:

if (File.Exists(filePath)
{
    openFileDialog1.InitialDirectory = new FileInfo(filePath).DirectoryName;
    openFileDialog1.ShowDialog();
}
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法呢?

c# file winforms

12
推荐指数
2
解决办法
3万
查看次数

在Windows资源管理器中打开文件夹,然后选择仅第二次运行的文件

使用SO帖子"打开文件夹并选择文件"的答案中描述的代码,我创建了这个函数:

public static void OpenExplorerAndSelectFile(string filePath)
{
    Process.Start(
        @"explorer.exe",
        string.Format(@"/select, ""{0}""", filePath));
}
Run Code Online (Sandbox Code Playgroud)

这个功能运行良好,有一个小问题:

首次为特定文件调用该函数时,Windows资源管理器会正确显示该文件的文件夹,但不会选择该文件.

再次为同一个文件调用相同的函数,它会切换回Windows资源管理器中已打开的文件夹,然后选择该文件.

例如,第一次调用OpenExplorerAndSelectFile("C:\MyFolder\MyFile.txt")在新的Windows资源管理器窗口中打开文件夹"C:\ MyFolder".第二次调用OpenExplorerAndSelectFile("C:\MyFolder\MyFile.txt")实际上再次激活该窗口并选择MyFile.txt.

在谷歌浏览器中做类似的事情(转到下载页面并显示以前下载的文件)实际上在第一次尝试时效果很好.

所以我的结论是谷歌Chrome似乎与我有点不同.

我的问题:

有没有办法调试/跟踪谷歌Chrome调用的Win32/Shell方法?

然后我会将它们与我所做的比较以查看差异.

.net c# explorer windows-explorer windows-shell

9
推荐指数
1
解决办法
2576
查看次数

有没有办法打开文件资源管理器并从UWP应用程序中选择一个文件?

我可以使用Launcher.LaunchFolderAsync()(+)从UWP应用程序打开文件浏览器,但有没有办法在该文件浏览器窗口中选择文件?

一些方法可以在Win32应用程序中实现这一点,包括直接调用explorer.exe并将参数传递给它,这显然不适用于UWP.

c# windows-10 uwp

6
推荐指数
1
解决办法
1630
查看次数