了解是否安装了可执行文件并以编程方式打开它

本文关键字:编程 方式打 是否 安装 可执行文件 了解 | 更新日期: 2023-09-27 18:31:27

我有一个代码,当我说打开一个程序时,它会打开。但是,如果该程序不存在怎么办?如何让我的代码告诉我它不存在?而且,如何使我的代码打开替代程序(如果存在)?

case "open microsoft word":
                System.Diagnostics.Process.Start(@"C:'Program Files'Microsoft Office'Office15'WINWORD.exe");
                JARVIS.Speak("Loading");
                break;

了解是否安装了可执行文件并以编程方式打开它

这是一种检查是否安装了 Word 的脆弱方法。如果用户将其安装在不同的路径中怎么办?它是否需要是该特定版本的 Office?我认为你最好检查注册表。

using Microsoft.Win32;
// Check whether Microsoft Word is installed on this computer,
// by searching the HKEY_CLASSES_ROOT'Word.Application key.
using (var regWord = Registry.ClassesRoot.OpenSubKey("Word.Application"))
{
    if (regWord == null)
    {
        Console.WriteLine("Microsoft Word is not installed");
    }
    else
    {
        Console.WriteLine("Microsoft Word is installed");
    }
}
您可以使用

File.Exists:

if (File.Exists(@"C:'Program Files'Microsoft Office'Office15'WINWORD.exe")) {
    // do your thing
}