我正在修复c#.net应用中的功能,用户可以右键单击文件名,然后他们将拥有“在资源管理器中打开”选项。当他们点击它时,会打开一个新的资源管理器窗口,并选择该文件。
问题是,如果该功能用于打开音频文件,那么它似乎很少工作。前几次尝试将在资源管理器窗口中显示,没有任何问题。
但是,每隔一段时间,资源管理器窗口会在打开时挂起半秒左右,恢复时不会选择任何文件。如果您然后返回应用程序并在同一文件上再次尝试,则浏览器将打开并选择该文件;没问题。
到目前为止,它似乎对基于文本的文件和目录没有失败。只有音频文件才会出现此问题。
我已经在stackoverflow上尝试了大部分关于“/ select”CL arg的东西,但没有一个解决了这个问题。有什么想法吗?
当前的代码尝试:
void MyFunc(object sender, EventArgs e)
{
string filePath= "";
// Code that gets full filepath is here - it has so far always returned a correct path
if (!string.IsNullOrEmpty(filePath))
{
filePath = filePath.Replace(@"/", @"\");
if (File.Exists(filePath))
{
string args = string.Format("/select,\"{0}\"", filePath);
Process.Start("explorer.exe", args);
}
}
}
额外信息:
感谢
答案 0 :(得分:0)
在与更多人交谈后,我们发现在Explorer.exe中查看音乐文件是一个怪癖。我最终将此作为缓解措施,通过电子邮件发送给几个用户,并在帮助文档中包含说明。