用C#怎样判断?

推荐图书

  • C#与.NET 4高级程序设计(第5版)


2个回答

方式一:

引用命名空间:using Microsoft.Win32;

判断指定CLASSID 的注册表键值是否存在来判断是否存在注册类。

RegistryKey regKey = Registry.ClassesRoot.OpenSubKey("CLSID\\{00460182-9E5E-11d5-B7C8-B8269041DD57}\\");
if (regKey != null)
{
  MessageBox.Show("存在指定ClassID的注册");
}

方法二: 通过包装的对象,直接建立实例,来确定对象是否注册,失败表示未注册,成功表示注册。

方法三: 通过ClassID建立对象。

   public object GetActiveXObject(Guid clsid)
    {
        Type t = Type.GetTypeFromCLSID(clsid);
        if (t == null) 
            return null; 
        return Activator.CreateInstance(t);
    }