我的用户可以将文档附加到应用程序的各种实体。当然,如果用户A附加一个.TIFF文件,用户B可能不具有用于该类型文件的观看者。

所以,我希望能够打开此对话框:

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

我的应用程序是C#与VS2005。结果 目前我做的Process.Start并通过文件名。如果没有发现相关联,它会引发异常。

有帮助吗?

解决方案

此应该这样做:

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

p.Start();

其他提示

Process pr = new Process();
pr.StartInfo.FileName = fileTempPath;
pr.StartInfo.ErrorDialog = true; // important
pr.Start();
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top