5

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

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

替代文字 http://www.angryhacker.com/toys/cannotopen.png

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

4

2 回答 2

14
Process pr = new Process();
pr.StartInfo.FileName = fileTempPath;
pr.StartInfo.ErrorDialog = true; // important
pr.Start();
于 2009-10-30T09:57:13.893 回答
7

这应该这样做:

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

p.Start();
于 2009-05-19T17:28:21.363 回答