【问题标题】:C# 4.0: System.Diagnostics.ProcessC# 4.0:System.Diagnostics.Process
【发布时间】:2011-02-05 04:18:33
【问题描述】:

您好,我想知道在我开始打开之前,是否存在检查您的本地计算机中是否存在 application(Acrobat Reader) 的现有实现。

例如,我想打开一个 pdf 文件,但我没有 acrobat 阅读器,那么 我将如何检查我是否有安装程序来打开文件?

System.Diagnostics.Process.Start("path.pdf")

【问题讨论】:

  • 你想知道一个特定的应用程序是否存在,例如“爱看阅读器”?或者您是否想知道是否存在与给定文件类型关联的(未指定)应用程序,例如“有什么东西(Acrobat Reader、Acrobat、Foxit,...)可以打开可用的 PDF 吗?”
  • 我想知道我的本地机器中是否存在特定的应用程序。谢谢

标签: c# file c#-4.0 system.diagnostics


【解决方案1】:

您可能想查看Windows: List and Launch applications associated with an extension 和 IQueryAssociations。

【讨论】:

    【解决方案2】:

    以编程方式,这是check if Acrobat Reader is present 的方式。

    如果您安装了 acrobat 阅读器,您也可以手动检查;这里某处YourInstallationDrive:\Program Files\Adobe\Reader 8.0\Reader

    然后您可以像下面这样打开 PDF:

    Process.Start("AcroRd32.exe", "c:\myfile.pdf");
    

    【讨论】:

      【解决方案3】:

      您可以检查此注册表项以获取已安装的应用程序 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall

      查看以下article

      【讨论】:

        【解决方案4】:

        使用System.IO.File.Exists("Your Path")

        【讨论】:

        • 这不是他要问的,他想知道是否有与文件扩展名关联的默认程序。
        猜你喜欢
        • 2016-05-13
        • 2023-03-10
        • 1970-01-01
        • 1970-01-01
        • 2013-06-16
        • 1970-01-01
        • 1970-01-01
        • 2019-01-15
        • 2013-08-28
        相关资源
        最近更新 更多