如何判断特定文件扩展名是否有默认程序打开它?e、 PDF,在Windows7中

如何判断特定文件扩展名是否有默认程序打开它?e、 PDF,在Windows7中,windows,pdf,registry,Windows,Pdf,Registry,我想知道注册表中是否有要检查的特定条目,以查看是否有与特定文件类型关联的默认程序 我的主要例子是PDF。我公司的文档主要是PDF。我们希望能够发布最新的AdobeReader,因为一般来说,很多使用我公司软件的PC都无法访问互联网 在安装过程中,我希望能够检查我们正在安装的计算机是否已经有了查看PDF文件的程序。如果是,请继续。如果没有,则在安装过程中运行Adobe发行版 我关注的是Windows 7 PC,我可以通过编程阅读注册表条目,以查看PDF是否有有效的程序打开它。否此选项不存在。尽管H

我想知道注册表中是否有要检查的特定条目,以查看是否有与特定文件类型关联的默认程序

我的主要例子是PDF。我公司的文档主要是PDF。我们希望能够发布最新的AdobeReader,因为一般来说,很多使用我公司软件的PC都无法访问互联网

在安装过程中,我希望能够检查我们正在安装的计算机是否已经有了查看PDF文件的程序。如果是,请继续。如果没有,则在安装过程中运行Adobe发行版


我关注的是Windows 7 PC,我可以通过编程阅读注册表条目,以查看PDF是否有有效的程序打开它。

否此选项不存在。尽管HKCR“PROGID”\shell\open可能指向已安装的软件

用户回答错误。请参见我的屏幕截图:

在安装过程中,我希望能够检查我们正在安装的计算机是否已经有了查看PDF文件的程序。如果是,请继续。如果没有,则在安装过程中运行Adobe发行版

所以我有pdf阅读器!!!没有关联。你还在想,我没有pdf阅读器吗?

来自控制台

获取与扩展相关联的文件类型。一旦您拥有文件类型ex.AcroExch.Document.11:


f键入AcroExch.Document.11以获取相关程序。

谢谢。您知道从Inno安装脚本调用这些命令的方法吗?@ChrisJ,不确定我的字段,但是。。这可能适用于ExecExpandConstant'{cmd}','/c assoc.pdf',SW_HIDE,ewwaitunterminated,ResultCode;如果ResultCode为0,则将关联扩展名。如果是1,则没有关联。AcroExch.Document.11不是文件类型,而是ProgID。我创建了自己的格式.FFF,这是一个简单的文本文件。运行记事本、写字板或其他文本编辑器:打开.FFF文件。尤里卡,我打开了这个文件,但是等等!你写道,assoc命令告诉我们,如果我们已经关联到扩展。运行cmd,编写assoc.FFF。嗯,我们没有相关的程序,因为答案是空的。因此,我们没有打开.FFF文件的默认程序,也没有打开文件的程序,因此没有downvote。@user2120666,您是对的,它是一个文件类型,但从命令的角度来看,它是一个文件类型。是的,你可以使用任何合适的工具打开你的.FFF文件,但是系统(而不是用户)没有关于如何处理该文件的信息,没有任何可以处理该文件的信息。你有一个pdf查看器。或者不是。屏幕截图中显示的内容取决于HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.pdf\OpenWithList下存储的数据,并显示用于打开pdf的程序列表。他们不需要留在系统中。您可以使用查看器,而不是执行它,并且它不会显示在此注册表项下。assoc不是事实,它只是询问操作系统是否知道如何处理文件的一种简单方法。不,你说得不对,用户需要询问是否可能确定是否安装了pdf查看器,请仔细阅读。再说一次,如果从未打开pdf文件或从未关联,但拥有pdf查看器会怎么样???我在苏门答腊执行了很多次死刑,但没有把它联系起来,所以你不知道,你在说什么!!!也许我不对。我从来没说过我是。我看到了如何判断特定文件扩展名是否有默认程序打开它?我想,嘿,当被问到这个问题时,操作系统已经足够友好了。我们去问问吧。当然下次我会读得更好。