源地址:http://blog.sina.com.cn/s/blog_48a45b950100qsqh.html,分享过来供自己方便查看。
判断方法
判断本机是否安装Office2003,2007或者WPS,都是通过查询注册表中是否有对应的键。并且根据注册表中指定的安装目录,到安装目录下查找是否存在响应的应用程序,如Excel.exe或WinWord.exe等。
#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;
}
#endregion