private void button3_Click(object sender, EventArgs e)
        {
            if (panduan())//自定义方法
            {
                MessageBox.Show("本机已安装office2010");
            }
            else
            {
                MessageBox.Show("请先安装wps 2012", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }

public bool panduan()
        {
            bool ifused = false;
            RegistryKey rk = Registry.LocalMachine;
            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 file03 = office2010.GetValue("Path").ToString();
                if (File.Exists(file03 + "Excel.exe"))
                {
                    istrue= true;
                }
            }
            if (officexp != null)
            {
                string filexp = officexp.GetValue("Path").ToString();
                if (File.Exists(filexp + "Excel.exe"))
                {
                    istrue= false;
                }
            }
            if (office2000 != null)
            {
                string file2000 = officexp.GetValue("Path").ToString();
                if (File.Exists(file2000 + "Excel.exe"))
                {
                    istrue= false;
                }
            }
            if (office97 != null)
            {
                string file97 = officexp.GetValue("Path").ToString();
                if (File.Exists(file97 + "Excel.exe"))
                {
                    istrue= false;
                }
            }
            if (office2007 != null)
            {
                string file2007 = officexp.GetValue("Path").ToString();
                if (File.Exists(file2007 + "Excel.exe"))
                {
                    istrue= false;
                }
            }
  
            return istrue;
        }

c# 通过查看注册表的方式来判断电脑安装office的版本相关推荐

  1. win7关闭开机启动项_win7系统如何查看注册表启动项 win7系统查看注册表启动项方法【介绍】...

    很多用户都清楚开机启动项除了能够使用msconfig命令打开之外,也可以使用第三方工具.注册表查看开机启动项,因为数值的存在,注册表看到的启动项比较准确,不过有很电脑用户都不知道win7系统怎么查看注 ...

  2. 注册表使用次数修改_如何使用系统注册表编辑器来优化电脑系统

    大家好,我是波仔,又见面了,非常感谢各位朋友又来和我一起分享与探讨,今天我们来分享一下如何使用注册表编辑器来优化我们的电脑系统,让我们的电脑运行的更快更流畅. 使用注册表编辑器来优化电脑系统 注册表编 ...

  3. Win10为将用户中文名修改为英文名而修改了注册表导致开机时电脑显示“无法登陆到你的账户”的问题简单解决方案

    Win10为将用户中文名修改为英文名而修改了注册表导致开机时电脑显示"无法登陆到你的账户"的问题简单解决方案 起因 为了将用户中文名修改为英文名,参考了站内多章大神的方法,结果导致 ...

  4. windows自启动,修改注册表的方式

    有时候开发一款软件,我们需要让其启动,那么该如何设置在windows下? 下面介绍一种windows自启动的方式,使用的是注册表,亲测有效. 步骤如下 1.以管理员身份运行cmd 2.输入命令rege ...

  5. 以修改注册表的方式避免ACK确认机制带来的延时现象

    TCP本身属面向链接的通讯协议.通讯双方的每一个收发动作,需要以通讯链路正常为前提.因此TCP协议内部提供了默认的ACK验证机制. 假定A.B之间存在一条TCP通讯链路,某一时刻A第一次向B发送数据, ...

  6. win7图片查看器的注册表项_win7打开电脑黑屏只剩鼠标指针的解决教程

    小编给大家详解win7打开电脑黑屏只剩鼠标指针的解决教程,使用win7系统过程中,开机黑屏是见的故障,当你遇到电脑开机黑屏只剩下鼠标指针的问题时,可参照以下的详细方法进行解决. 最近有win7系统用户 ...

  7. 『恶意代码分析实战』Windows API编程——通过修改注册表的方式实现自启动

    文章目录 前言 实验要求 实验环境 实验目的 代码 演示 完 前言 实验要求 编写代码,编辑注册表的Run/RunOnce/RunOnceEx键(任选其一),达到让某一程序在系统启动后自动运行的目的( ...

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

    判断方法 using Microsoft.Win32; using System; using System.Collections.Generic; using System.IO; using S ...

  9. 注册表桌面显示计算机,电脑开机后不显示桌面图标怎么办?修改注册表解决开机后不显示桌面图标的3种方法...

    解决方法一: 1.按Win+R打开运行,输入regedit并回车: 2.在注册表展开:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersi ...

  10. 从注册表中获取文件的安装路径

    从注册表中取值(Windows平台) 本篇文章的内容是从Windows平台的注册表里取值 程序开发一般都会涉及从注册表获取相关信息,我将以从注册表获取软件的安装路径为例子 一.需求 我现在要获取微信的 ...

最新文章

  1. AOP通过开启注解方式自动注入值
  2. 2 行代码,将 .NET 执行时间降低 87%!(附代码)
  3. 一起走进计算机视觉的世界
  4. Chirp信号公式与对离散生成算法之间的差异
  5. python django框架 比php_ThinkPHP, Django这两个框架孰优孰略,忽略语言本身?
  6. JavaScript 正则表达式
  7. mysql关联查询去重_MySQL外键和高级查询(连接查询、联合查询、子查询、去重查询)...
  8. 【洛谷 1879】玉米田
  9. 锐捷官方提供122套实验题.
  10. 局部变量竟然比全局变量快 5 倍?
  11. SQL Server分组查询
  12. SVN客户端服务器搭建与使用(一)
  13. 使用Nexus3搭建Maven私服+上传第三方jar包到本地maven仓库
  14. OpenSessionInViewFilter失效问题
  15. 大数据学长面试之华为面试题
  16. 移动硬盘格式化了?可以这样恢复数据
  17. 解决Visio和office365安装兼容问题
  18. 在等待缓存锁:无法获得锁 /var/lib/dpkg/lock-frontend。锁正由进程 7939(unattended-upgr)持有... 32秒
  19. JS进阶学习之ES5-ES6
  20. sqlserver2000 详解

热门文章

  1. key去掉下划线自动大写首字母工具类
  2. 鉴源实验室丨TARA分析方法论
  3. 【量子机器学习】HHL算法: Quantum algorithm for solving linear systems of equations
  4. 名人带货成潮流,直播电商是否走上了岔路?
  5. 利用WinRar制作软件更新包
  6. Redis高级之——redis-trib.rb命令详解
  7. C / C++从键盘输入字符串,并求其长度
  8. 计算机专业考研北京有哪些学校,计算机考研北京地区学校大全!
  9. 2、树莓派声卡设置和alsactl命令的使用
  10. 【杂谈】真相揭开有点吃惊:杨利伟出舱时