C# 如何获取当前Office版本
1、对于office的检测,一般会采用获取注册表的信息来判断当前安装软件的版本。这里小编安装的是2016,通过注册表,我们可以看到版本信息
2、使用vs2015创建一个winform程序,在这个程序里,我们来实现获取office的版本。
3、编写方法通过注册表来判断office的版本,在注册表中,所有的office都会存在SOFTWARE\Microsoft\Office\这个路径下。所以,我们要判断的注册表路径就是这个。具体方法如下:
public int ExistsOffice()
{
int ifused = 0;
RegistryKey rk = Registry.LocalMachine;
RegistryKey akey10 = rk.OpenSubKey(@"SOFTWARE\Microsoft\Office\14.0\Excel\InstallRoot\");//查询2010
RegistryKey akey13 = rk.OpenSubKey(@"SOFTWARE\Microsoft\Office\16.0\Excel\InstallRoot\");//查询2016
//检查本机是否安装Office2010
if (akey10 != null)
{
string office10 = akey10.GetValue("Path").ToString();
if (File.Exists(office10 + "Excel.exe"))
{
ifused += 1;
}
}
//检查本机是否安装Office2013
if (akey13 != null)
{
string office16 = akey13.GetValue("Path").ToString();
if (File.Exists(office16 + "Excel.exe"))
{
ifused += 2;
}
}
return ifused;
}
4、在winform的load事件中,调用上述方法,根据返回结果,来判断office安装的版本。
private void Form1_Load(object sender, EventArgs e)
{
int flag = 0;
flag = ExistsOffice();
if (flag == 1)
{
MessageBox.Show(@"本机已安装office2010");
}
else if (flag == 2)
{
MessageBox.Show(@"本机已安装office2016");
}
}
5、保存编写好的代码,按键盘上的F5运行代码,可以看到提示,与小编安装的office版本一直,那么使用C#获取office版本就成功了。