C#判断某个软件是否已安装实现代码分享

private void button1_Click(object sender, EventArgs e)
{
  if (checkAdobeReader() == true)
  {
    MessageBox.Show("有安裝 Adobe Reader ");
  }
  else
  {
    MessageBox.Show("沒有安裝 Adobe Reader ");
  }
}
/// <summary>
/// 確認是否有安裝 Adobe Reader
/// </summary>
/// <returns>true: 有安裝, false:沒有安裝</returns>
private bool checkAdobeReader()
{
  Microsoft.Win32.RegistryKey uninstallNode = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall");
  foreach (string subKeyName in uninstallNode.GetSubKeyNames())
  {
    Microsoft.Win32.RegistryKey subKey = uninstallNode.OpenSubKey(subKeyName);
    object displayName = subKey.GetValue("DisplayName");
    if (displayName != null)
    {
      if (displayName.ToString().Contains("Adobe Reader"))
      {
        return true;
        // MessageBox.Show(displayName.ToString());
      }
    }
  }
  return false;
} 
(0)

相关推荐

  • C#之IO读写文件方法封装代码

    具体不做详细介绍了,直接上代码 /// <summary> /// 功能:FileStream文件流读取文件 /// </summary> /// <param name="filePath">参数:文件路径</param> /// <returns>返回值:StreamReader对象</returns> public static StreamReader ReadFileByFs(string filePat

  • C#代码实现PDF文档操作类

    本文纯干货,贴上PDF文档操作类C#代码,需要添加iTextSharp.dll引用才可以正常通过编译. 废话不多说了,直接给大家贴代码了. 代码如下: using System.IO; using iTextSharp.text; using iTextSharp.text.pdf; namespace DotNet.Utilities { /// <summary> /// PDF文档操作类 /// </summary> //---------------------------

  • C#实现的json序列化和反序列化代码实例

    using System; using System.Collections.Generic; using System.Web.Script.Serialization; using System.Configuration; using System.Runtime.Serialization.Json; using System.Runtime.Serialization; using System.IO; using System.Text; namespace WebApplicati

  • C#生成Word文档代码示例

    public bool CreateWordFile(string _filename, "数据List或者你C#要写的数据") { #region 开始生成Word try { string strtitle = "任务导出"; object oEndOfDoc = "//endofdoc"; Object Nothing = System.Reflection.Missing.Value; Object filename = _filenam

  • C#获取网页源代码的方法

    本文实例讲述了C#获取网页源代码的方法.分享给大家供大家参考.具体如下: public string GetPageHTML(string url) { try { HttpWebRequest wr = WebRequest.Create(url) as HttpWebRequest; wr.Method = "get"; wr.Accept = "*/*"; wr.Headers.Add("Accept-Language: zh-cn");

  • C#对称加密(AES加密)每次生成的结果都不同的实现思路和代码实例

    思路:使用随机向量,把随机向量放入密文中,每次解密时从密文中截取前16位,其实就是我们之前加密的随机向量. 代码: public static string Encrypt(string plainText, string AESKey) { RijndaelManaged rijndaelCipher = new RijndaelManaged(); byte[] inputByteArray = Encoding.UTF8.GetBytes(plainText);//得到需要加密的字节数组

  • C#代码性能测试类(简单实用)

    介绍: 可以很方便的在代码里循环执行 需要测试的函数  自动统计出执行时间,支持多线程. 使用方法: PerformanceTest p = new PerformanceTest(); p.SetCount(10);//循环次数(默认:1) p.SetIsMultithread(true);//是否启动多线程测试 (默认:false) p.Execute( i => { //需要测试的代码 Response.Write(i+"<br>"); System.Threa

  • C#实现开机自动启动设置代码分享

    /// <summary> /// 设置程序开机启动 /// 或取消开机启动 /// </summary> /// <param name="started">设置开机启动,或者取消开机启动</param> /// <param name="exeName">注册表中程序的名字</param> /// <param name="path">开机启动的程序路径<

  • C#超实用代码段合集

    本文实例总结了几个非常实用的C#代码.分享给大家供大家参考,具体如下: 1. C#在托盘显示图标 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace notifyI

  • C#对文件/文件夹操作代码汇总

    C#追加文件 StreamWriter sw = File.AppendText(Server.MapPath(".")+"\\myText.txt"); sw.WriteLine("追逐理想"); sw.WriteLine("kzlll"); sw.WriteLine(".NET笔记"); sw.Flush(); sw.Close(); C#拷贝文件 string OrignFile,NewFile; O

  • 10个C#程序员经常用到的实用代码片段

    1 读取操作系统和CLR的版本 OperatingSystem os = System.Environment.OSVersion; Console.WriteLine("Platform: {0}", os.Platform); Console.WriteLine("Service Pack: {0}", os.ServicePack); Console.WriteLine("Version: {0}", os.Version); Consol

随机推荐