C# 如何获取当前Office版本

2022年8月15日 16点热度 0人点赞

C#是一种开源的、稳定的、简单的、优雅的,面向对象的编程语言,那么如何通过C#来获取安装的office版本呢,接下,小编通过实例为小伙伴介绍一下。

工具/原料

  • vs2015

方法/步骤

  1. 1

    对于office的检测,一般会采用获取注册表的信息来判断当前安装软件的版本。这里小编安装的是2016,通过注册表,我们可以看到版本信息

  2. 2

    使用vs2015创建一个winform程序,在这个程序里,我们来实现获取office的版本。

  3. 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. 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. 5

    保存编写好的代码,按键盘上的F5运行代码,可以看到提示,与小编安装的office版本一直,那么使用C#获取office版本就成功了。

    END
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部

laozhao

这个人很懒,什么都没留下

文章评论