在尝试Process.Start()之前,如何以编程方式检查文件关联存在的文件?

And*_*rew 8 .net c# windows file-association

我的.Net Windows窗体应用程序生成PDF报告,我想向用户显示该报告.

而不是假设客户端PC安装了PDF查看器并盲目地将PDF放在操作系统中打开,有没有办法事先检查客户端上的文件关联列表,然后显示" 你需要一个PDF查看器安装的应用程序 - 这里有几个建议.. "对话框,如果PDF不是注册类型?

我发现了很多关于更改或注册文件关联的问题和答案,但我只是想要一种简单的方法来查询列表,而不是更改它.

我想要一个适用于Windows XP以上的解决方案(WinXP,Vista,Win7).

谢谢你的帮助

Sim*_*ier 9

最好不要直接使用注册表,而是依赖Windows API.这是一个提供.NET解决方案的SO链接:如何根据扩展名获取文件类型信息?c#中的(不是MIME)