代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
CSharp
】
获取系统安装的MS Offfice信息
作者:
Dezai.CN
/ 发布于
2011/6/27
/
480
<div> using System; using System.Collections.Generic; using System.Text; namespace WpsTest { /************************************************************ * Creat By Guog,2009-04-13 * Office相关的操作,转载注明出处<a href="http://hi.baidu.com/goga">http://hi.baidu.com/goga</a> * Email :goga21cn#126.com * 转载请保持文章完整,保存以上作者信息 请珍惜他人劳动成果 ************************************************************/ public class OfficeOperator { #region 方法 #region public static /// <summary> /// 检测MS-Office是否正确安装 /// 通过注册表检测 /// </summary> /// <param name="version">获得安装的版本号,如office2000,office2003,office2007</param> /// <returns></returns> public static bool IsInstall(out string Version) { bool result = false; string officePath = ""; string officeVersion = ""; Version = ""; GetOfficePath(out officePath, out officeVersion); if (!string.IsNullOrEmpty(officeVersion) && !string.IsNullOrEmpty(officePath)) { result = true; Version = officeVersion; } return result; } /// <summary> /// 获取当前某个版本Office的安装路径 /// </summary> /// <param name="Path">返回当前系统Office安装路径</param> /// <param name="Version">返回当前系统Office版本信息</param> public static void GetOfficePath(out string Path,out string Version) { string strPathResult = ""; string strVersionResult = ""; string strKeyName = "Path"; object objResult = null; Microsoft.Win32.RegistryValueKind regValueKind; Microsoft.Win32.RegistryKey regKey = null; Microsoft.Win32.RegistryKey regSubKey = null; try { regKey = Microsoft.Win32.Registry.LocalMachine; if (regSubKey == null) {//office97 regSubKey = regKey.OpenSubKey(@"SOFTWARE\Microsoft\Office\8.0\Common\InstallRoot", false); strVersionResult = "office97"; strKeyName = "OfficeBin"; } if (regSubKey == null) {//Office2000 regSubKey = regKey.OpenSubKey(@"SOFTWARE\Microsoft\Office\9.0\Common\InstallRoot", false); strVersionResult = "office2000"; strKeyName = "Path"; } if (regSubKey == null) {//officeXp regSubKey = regKey.OpenSubKey(@"SOFTWARE\Microsoft\Office\10.0\Common\InstallRoot", false); strVersionResult = "officeXP"; strKeyName = "Path"; } if (regSubKey == null) {//Office2003 regSubKey = regKey.OpenSubKey(@"SOFTWARE\Microsoft\Office\11.0\Common\InstallRoot", false); strVersionResult = "office2003"; strKeyName = "Path"; } if (regSubKey == null) {//office2007 regSubKey = regKey.OpenSubKey(@"SOFTWARE\Microsoft\Office\12.0\Common\InstallRoot", false); strVersionResult = "office2007"; strKeyName = "Path"; } objResult = regSubKey.GetValue(strKeyName); regValueKind = regSubKey.GetValueKind(strKeyName); if (regValueKind == Microsoft.Win32.RegistryValueKind.String) { strPathResult = objResult.ToString(); } } catch (System.Security.SecurityException ex) { throw new System.Security.SecurityException("您没有读取注册表的权限", ex); } catch (Exception ex) { throw new Exception("读取注册表出错!", ex); } finally { if (regKey != null) { regKey.Close(); regKey = null; } if (regSubKey != null) { regSubKey.Close(); regSubKey = null; } } Path = strPathResult; Version = strVersionResult; } #endregion public static #endregion 方法 } } <font color="#993300" size="4"><strong>以下是使用</strong></font> private void btnGetOfficePath_Click(object sender, EventArgs e) { string officePath = ""; string officeVersion = ""; try { OfficeOperator.GetOfficePath(out officePath,out officeVersion); } catch (Exception ex) { MessageBox.Show("无法获取系统Office信息"); } if (!string.IsNullOrEmpty(officePath) && !string.IsNullOrEmpty(officeVersion)) { MessageBox.Show(string.Format("版本:{0}\r\n安装路径:{1}",officeVersion,officePath)); } } //是否安装及版本 private void btnIsInstall_Click(object sender, EventArgs e) { try { string version = ""; if (OfficeOperator.IsInstall(out version)) { MessageBox.Show(string.Format("当前安装了{0}", version)); } else { MessageBox.Show("您当前还没有安装微软Office系列软件"); } } catch(Exception ex) { MessageBox.Show("无法获取系统Office信息"); } } </div>
试试其它关键字
Offfice信息
同语言下
.
文件IO 操作类库
.
Check图片类型[JPEG(.jpg 、.jpeg),TIF,GIF,BMP,PNG,P
.
机器名和IP取得(IPV4 IPV6)
.
Tiff转换Bitmap
.
linqHelper
.
MadieHelper.cs
.
RegHelper.cs
.
如果关闭一个窗体后激活另一个窗体的事件或方法
.
创建日志通用类
.
串口辅助开发类
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
Dezai.CN
贡献的其它代码
(
4037
)
.
多线程Socket服务器模块
.
生成随机密码
.
清除浮动样式
.
弹出窗口居中
.
抓取url的函数
.
使用base HTTP验证
.
div模拟iframe嵌入效果
.
通过header转向的方法
.
Session操作类
.
执行sqlite输入插入操作后获得自动编号的ID
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3