Process.Start()的替代方案

Chr*_*her 5 c# file-io process

我刚刚完成了对文档存储解决方案的编码,我遇到了以下问题.在UI中,用户可以按下按钮打开文件:

try
{
    Process.Start(file);
}
catch (Exception ex)
{
    //Error handling code
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,如果用户没有与文件类型相关联的应用程序,则抛出componentmodel异常,并显示一条消息.

我宁愿做的是在那种情况下弹出"打开方式"对话框,是否有方法调用我不见了?

小智 5

在调用Process.Start之前,您可以检查注册表以查看是否有与该文件类型关联的应用程序.或者,您可以捕获componentmodel异常并从那里打开open对话框.


Dav*_*vid 3

有关使用“打开方式”对话框的信息,请参阅本文

http://www.codeproject.com/KB/shell/openwith.aspx

我会将 Process.Start 调用放在 try 语句中,然后在 catch 中显示“Open With”。