Max*_*Max 6 c# pdf visual-studio
我有一个Help功能Application,包括一个功能webbrowser control.这webbrowser control充满了a .pdf file,其源头.pdf file是我们自己的网站.
问题是,不是每个人都会PDF Reader在他们的机器上安装,所以我想检查是否安装了一个:是或否.我搜索了互联网,我大多看到Stackoverflow上的用户想要检查是否Adobe Reader已安装,不是我想要的.我需要知道如果PDF Reader机器上安装了某个地方.
我找到了以下代码,可以帮助我:
public void CheckPdfReaderAvailable()
{
RegistryKey key = Registry.ClassesRoot.OpenSubKey(".pdf");
Assert.IsNotNull(key);
}
Run Code Online (Sandbox Code Playgroud)
当我看到上面的代码时,我的想法是代码检查是否registry知道.pdf format,但我不确定.
有人可以告诉我如何使用上面的代码或提供一个例子,关于我应该如何解决这个问题?
提前致谢!
编辑:
以下答案帮助了我:https://stackoverflow.com/a/774482/1661209
解决这个问题的另一种方法是将pdf reader lite添加到先决条件并让用户首先安装,你不必检查pdf Reader,因为你知道一个已安装,如果不是您可以说用户不能使用帮助功能是错误的,因为您为他们提供了一种使用已发布项目轻松安装PDF阅读器的方法.
除了知道与否之外,您可能会检查以下注册表项:
HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/pdf
这将有一个条目CLSID,指向默认应用程序的类ID.
如果注册表项或CLSID值不存在,则MIME类型未知,或者没有默认应用程序来处理MIME类型application/pdf文件.
| 归档时间: |
|
| 查看次数: |
4711 次 |
| 最近记录: |