我的.Net Windows窗体应用程序生成一份PDF报告,我想向用户展示。
不是假设客户端PC安装了PDF查看器并盲目地将PDF放在操作系统中打开,是否有办法检查客户端上的文件关联列表 ,然后显示“您需要安装PDF查看器应用程序 - 这里有几个建议.. ”对话框,如果PDF不是注册类型?
我发现了很多关于更改或注册文件关联的问题和答案,但我只是想要一种简单的方法来查询列表,而不是更改它。
我想要一个适用于Windows XP以上的解决方案(WinXP,Vista,Win7)。
感谢您的帮助
答案 0 :(得分:9)
最好不要直接使用注册表,而是依赖Windows API。这是一个提供.NET解决方案的SO链接:How do I get File Type Information based on extension? (not MIME) in c#
答案 1 :(得分:0)
我发现注册表中有一个.pdf密钥,也许它可以帮到你:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.pdf]
"Content Type"="application/pdf"
@="AcroExch.Document"
[HKEY_CLASSES_ROOT\.pdf\OpenWithList]
@=""
[HKEY_CLASSES_ROOT\.pdf\OpenWithList\AcroRd32.exe]
@=""
[HKEY_CLASSES_ROOT\.pdf\ShellEx]
[HKEY_CLASSES_ROOT\.pdf\ShellEx\{8895b1c6-b41f-4c1c-a562-0d564250836f}]
@="{DC6EFB56-9CFA-464D-8880-44885D7DC193}"