Uwe*_*eim 9 .net c# explorer windows-explorer windows-shell
使用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方法?
然后我会将它们与我所做的比较以查看差异.