通过注册表查看电脑是否安装office和查看本电脑安装office版本

判断方法

using Microsoft.Win32;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OfficeVersion
{
public class Judge
{
public string panduan()
{
string officeJudge = string.Empty;
RegistryKey rk = Registry.LocalMachine;
if (Environment.Is64BitOperatingSystem)
//本电脑是64位
rk = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64);
else
//本电脑是32位
rk = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32);

        RegistryKey office2016 = rk.OpenSubKey(@"SOFTWARE\\Microsoft\\Office\\16.0\\Word\\InstallRoot\\");
        RegistryKey office2013 = rk.OpenSubKey(@"SOFTWARE\\Microsoft\\Office\\15.0\\Word\\InstallRoot\\");
        RegistryKey office2010 = rk.OpenSubKey(@"SOFTWARE\\Microsoft\\Office\\14.0\\Word\\InstallRoot\\");
        //office 2003
        RegistryKey office2003 = rk.OpenSubKey(@"SOFTWARE\\Microsoft\\Office\\11.0\\Word\\InstallRoot\\");
        //office2007
        RegistryKey office2007 = rk.OpenSubKey(@"SOFTWARE\\Microsoft\\Office\\12.0\\Word\\InstallRoot\\");
        //office 97
        RegistryKey office97 = rk.OpenSubKey(@"SOFTWARE\\Microsoft\\Office\\8.0\\Word\\InstallRoot\\");
        //office 2000
        RegistryKey office2000 = rk.OpenSubKey(@"SOFTWARE\\Microsoft\\Office\\9.0\\Word\\InstallRoot\\");
        //office xp
        RegistryKey officexp = rk.OpenSubKey(@"SOFTWARE\\Microsoft\\Office\\10.0\\Word\\InstallRoot\\");
        //检查本机是否安装Office2010
        if (office2010 != null)
        {
            string file2010 = office2010.GetValue("Path").ToString();
            if (File.Exists(file2010 + "powerpoint.exe"))
            {
                officeJudge="本电脑安装了office2010";
            }
        }
        if (officexp != null)
        {
            string filexp = officexp.GetValue("Path").ToString();
            if (File.Exists(filexp + "powerpoint.exe"))
            {
                officeJudge = "本电脑安装了officexp";
            }
        }
        if (office2000 != null)
        {
            string file2000 = office2000.GetValue("Path").ToString();
            if (File.Exists(file2000 + "powerpoint.exe"))
            {
                officeJudge = "本电脑安装了office2000";
            }
        }
        if (office97 != null)
        {
            string file97 = office97.GetValue("Path").ToString();
            if (File.Exists(file97 + "powerpoint.exe"))
            {
                officeJudge = "本电脑安装了office97";
            }
        }
        if (office2007 != null)
        {
            string file2007 = office2007.GetValue("Path").ToString();
            if (File.Exists(file2007 + "powerpoint.exe"))
            {
                officeJudge = "本电脑安装了office2007";
            }                              
        }
        //判断本电脑是否安装office2013
        if (office2013 != null)
        {
            string file2013 = office2013.GetValue("Path").ToString();
            if (File.Exists(file2013 + "POWERPNT.EXE"))
            {
                officeJudge = "本电脑安装了office2013";
            }
        }
        return officeJudge;
    }
}

}

查看结果

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OfficeVersion
{
class Program
{
static void Main(string[] args)
{
Judge judge = new Judge();
string officeJudge = judge.panduan();
Console.WriteLine(officeJudge);
Console.ReadLine();
}
}
}

结果显示

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值