注册表检测office版本

#region 查询注册表,判断本机是否安装Office2003,2007和WPS

public int ExistsRegedit()
{
  int ifused = 0;
  RegistryKey rk = Registry.LocalMachine;
  //查询Office2003
  RegistryKey f03 = rk.OpenSubKey(@"SOFTWARE\Microsoft\Office\11.0\Excel\InstallRoot\");
  //查询Office2007
  RegistryKey f07 = rk.OpenSubKey(@"SOFTWARE\Microsoft\Office\12.0\Excel\InstallRoot\");
  //查询wps
  RegistryKey wps = rk.OpenSubKey(@"SOFTWARE\Kingsoft\Office\6.0\common\");

  //检查本机是否安装Office2003
  if (f03 != null)
  {
    string file03 = f03.GetValue("Path").ToString();
    if (File.Exists(file03 + "Excel.exe")) ifused += 1;
  }

  //检查本机是否安装Office2007
  if (f07 != null)
  {
    string file07 = akey.GetValue("Path").ToString();
    if (File.Exists(file07 + "Excel.exe")) ifused += 2;
  }

  //检查本机是否安装wps
  if (wps != null)
  {
    string filewps = akeytwo.GetValue("InstallRoot").ToString();
    if (File.Exists(filewps + @"\office6\et.exe")) ifused += 4;
  }

  return ifused;
}

  

注册表检测office版本

时间: 2024-10-11 00:36:14

注册表检测office版本的相关文章

注册表检测 ms14-058 CVE-2014-4113

#检测ms14-058 CVE-2014-4113HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix\KB3000061\Installed

C++判断Office版本——转载

自:http://blog.csdn.net/lpc_china/article/details/18359145 主要原理:查询windows注册表microsoft office软件项的值来判断版本. 主要源码: 头文件: 1 #pragma once 2 #include <Windows.h> 3 #include <tchar.h> 4 5 class CJudgeOfficeVersion 6 { 7 public: 8 CJudgeOfficeVersion(); 9

C#注册表操作类--完整优化版

using System; using System.Collections.Generic; using System.Text; using Microsoft.Win32; namespace Register { public class RegisterHelper { /// <summary> /// 注册表基项静态域 /// /// 主要包括: ///1.Registry.ClassesRoot 对应于 HKEY_CLASSES_ROOT 主键 ///2.Registry.Cu

office 插件开发 -- 64位系统注册表问题

1 HKLM 2 { 3 NoRemove SOFTWARE 4 { 5 NoRemove Microsoft 6 { 7 NoRemove Office 8 { 9 NoRemove Word 10 { 11 NoRemove Addins 12 { 13 ForceRemove WordClientDemo.WordAddinDemo 14 { 15 var 'FriendlyName' = s 'WordAddinDemo' 16 var 'LoadBehavior' = d '3' 17

C# winform webbrowser如何指定内核为IE11? 输出 this.webbrowser.Version 显示版本是IE11的,但实际版本不是啊! 网上打的修改注册表HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULA

最佳答案 1)假设你应用程序的名字为MyApplication.exe 2)运行Regedit,打开注册表,找到 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION 3)添加以下项 IE各版本的值如下: 11001 (0x2EDF) Internet Explorer 11. Webpages are displayed

Atitit.操作注册表 树形数据库 注册表的历史 java版本类库总结

Atitit.操作注册表 树形数据库 注册表的历史 java版本类库总结 1. 注册表是树形数据库 1 2. 注册表的由来 1 3. Java  操作注册表 2 3.1. 使用Preferences API (限定访问路径了) 2 3.2. 使用JNI 3 3.3. Jregistrykey 推荐 4 3.4. Jregistry 4 4. org.openqa.selenium.os.WindowsUtils 4 4.1. 以及进程管理 4 1. 注册表是树形数据库 树形数据库,但不提供类似S

powershell检测注册表键值判断

Powershell一直在学习中,脚本编写能力有限,全凭自己的逻辑思路去写.如果有高手请留言指点. 在工作中碰到一个案例: 需要添加一个注册表项,判断如果有,显示存在.如果没有,添加键值. New-Item -Path C:\tools01 -ItemType directory -ForceGet-ItemProperty "HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System" > C:\tools01

阿里云Windows服务器重启后无法远程桌面连接,大量注册表在检测

背景: 今天阿里金融云上有一台服务器不能远程桌面连接,现象:连接上去就会断开,从WEB控制台和远程桌面都是一样的现象.  我从WEB控制台上强制重启之后,通过VNC连接服务器看到大量类似注册表的扫描记录,一般是服务器在重启前安装了系统补丁,在系统重启过程中强制重启系统导致的,常见于通过ECS控制台重启服务器后. 解决方法: 1.等待此过程结束,前面一列数字是已经完成的数量,后面一列是总数,此过程一般会持续几十分钟至几个小时不等. 2.给系统盘创建一个快照作为备份,然后回滚系统盘快照,回滚到安装补

通过注册表修改IE浏览器内核版本

static public void SetIERegistry() {  try  {   //获取系统IE版本号   string strIEVersion = SysIeVersion();   if (string.IsNullOrEmpty(strIEVersion) || strIEVersion.Split('.').Length < 1)   return; //注册表版本号   int strValue = int.Parse(strIEVersion.Split('.').G