判断方法
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();
}
}
}