验证本机的excel版本的C#代码

代码如下:

/// <summary>
/// 安装的excel的版本,0为没有安装,大于1说明安装了多个.
/// </summary>
/// <returns></returns>
public static List<string> ExcelVersion()
{
List<string> list = new List<string>();
List<string> lisemp = new List<string>();
List<string> listvison = new List<string>();
RegistryKey rk = Registry.LocalMachine;
RegistryKey akey = rk.OpenSubKey(@"SOFTWARE\\Microsoft\\Office");
RegistryKey csk;
string str;
Hashtable hash = new Hashtable();
string[] ss = akey.GetSubKeyNames();
foreach (string s in ss)
{
string strem = @"SOFTWARE\\Microsoft\\Office" + @"\\" + s;
csk = rk.OpenSubKey(strem);
string[] csd = csk.GetSubKeyNames();
foreach (string sk in csd)
{
if (sk == "Excel")
{
str = strem + @"\\" + "Excel";
list.Add(str);
lisemp.Add(s);
}
}
}
if (list != null)
{
for (int index = 0; index < list.Count; index++)
{
list[index] = list[index] + @"\\InstallRoot\\";
RegistryKey f = rk.OpenSubKey(list[index]);
if (f != null)
{
listvison.Add(lisemp[index]);
}
}
}
return listvison;
}

(0)

相关推荐

  • C#调用C++版本dll时的类型转换需要注意的问题小结

    C#对于C++的dll引用时,经常会遇到类型转换和struct的转换 1. C++ 里的Char类型是1 个字节,c#里的Char是两个字节,不可以对应使用:可使用c#里的byte对应 2. structType temp = (structType)Marshal.PtrToStructure(IntPtr, typeof(structType));说明:此方式转换只针对包含c++基本类型的结构体,如果包含指针数组的结构体,使用泛型函数比较方便. 3. [StructLayoutAttribu

  • C#中使用1.7版本驱动操作MongoDB简单例子

    复制代码 代码如下: //创建数据库链接 //在1.7的版本驱动中这样写是会报 MongoServer方法已过时的 //MongoServer server =  MongoDB.Driver.MongoServer.Create(strconn); //带有用户名,密码的如下写法,不带的则直接ip+端口就可以 const string connectionString = "mongodb://city:liyang@192.168.1.211:27017"; //得到一个客户端对象

  • C#连接Excel2003和Excel2007以上版本做数据库的连接字符串

    复制代码 代码如下: string fileExt = Path.GetExtension(excelPath); string conn = ""; if (fileExt == ".xls") { conn = "Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source =" + excelPath + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX

  • C#获取系统版本信息方法

    直接贴代码: 复制代码 代码如下: public class OSInfoMation { public static string OSBit() { try { ConnectionOptions oConn = new ConnectionOptions(); System.Management.ManagementScope managementScope = new System.Management.ManagementScope("\\\\localhost", oCon

  • 磁盘配额的wmi版本(C#)

    using System;  using System.Management;  namespace DiskQuota  {       /// <summary>       /// Class1 的摘要说明.       /// </summary>       class Class1       {           /// <summary>           /// 应用程序的主入口点.           /// </summary> 

  • asp.net(c#)程序版本升级更新的实现代码

    直接上代码: 复制代码 代码如下: using System; using System.Collections.Generic; using System.Text; using System.Reflection; using System.IO; using System.Net; using System.Xml; namespace Update {     /// <summary>     /// 更新完成触发的事件     /// </summary>     pu

  • C#如何检测操作系统版本

    本文实例为大家分享了C#检测操作系统版本的方法,供大家参考,具体内容如下 我们通过System.Environment.OSVersion.Version获得操作系统的版本号,然后再根据版本号进行判断操作系统是什么版本. Version 类的属性 参考于:https://msdn.microsoft.com/zh-cn/library/windows/desktop/ms724834(v=vs.85).aspx 注意:在msdn官方文档有说明 → OSVersion 属性报告两个相同的版本号 (

  • C#实现判断操作系统是否为Win8以上版本

    1.利用C#获取OS的版本号 (1) 原理说明 Environment类的OSVersion属性是一个OperatingSystem类型的对象,OperatingSystem类表示有关操作系统的信息,如版本和平台标识符.OperatingSystem类的Version属性,描述了操作系统的主版本号.次版本号.内部版本号和修正版本号,所以可以使用Environment.OSVersion.Version来获取操作系统的版本信息. (2) 具体代码 using System; namespace G

  • C# 获取程序集版本、文件版本

    一.获取程序集版本 程序代码 复制代码 代码如下: label版本.Text = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(); 二.获取文件版本 程序代码 复制代码 代码如下: using System.Diagnostics; FileVersionInfo myFileVersion = FileVersionInfo.GetVersionInfo (System.Windows

  • C#自动判断Excel版本使用不同的连接字符串

    用OLEDB通过设置连接字符串可以像读取sqlserver一样将excel中的数据读取出来,但是excel2003和excel2007/2010的连接字符串是不同的. /// <summary> /// 把数据从Excel装载到DataTable /// </summary> /// <param name="pathName">带路径的Excel文件名</param> /// <param name="sheetName

随机推荐