如何调出“Windows无法打开此文件”对话框?

时间:2009-05-19 17:16:18

标签: c# visual-studio-2005 file-association process.start

我的用户可以将文档附加到应用程序中的各个实体。当然,如果用户A附加.TIFF文件,则用户B可能没有该类型文件的查看器。

所以我希望能够提出这个对话框:

alt text http://www.angryhacker.com/toys/cannotopen.png

我的应用程序是带VS2005的C# 目前我做Process.Start并传入文件名。如果未找到关联,则会引发异常。

2 个答案:

答案 0 :(得分:13)

Process pr = new Process();
pr.StartInfo.FileName = fileTempPath;
pr.StartInfo.ErrorDialog = true; // important
pr.Start();

答案 1 :(得分:7)

这应该这样做:

System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.FileName = "rundll32.exe";
p.StartInfo.Arguments = "shell32.dll,OpenAs_RunDLL " + yourFileFullnameHere;

p.Start();