C# 从注册表判断指定ocx控件是否已注册 以及获取它的注册路径


/// <summary>
/// 注册控件
/// </summary>
/// <returns></returns>
public bool RegControl()
{
try
{
//判断该控件是否已经注册
if (!CheckRegistredOcx(@"CLSID\{00460182-9E5E-11D5-B7C8-B8269041DD57}"))
{
string sPath = Path.Combine(WorkSpace.PublicDirectory, "dsoframer.ocx");
if (!File.Exists(sPath)) return false;
Process p = new Process();
p.StartInfo.FileName = "Regsvr32.exe";
p.StartInfo.Arguments = "/s " + sPath;
p.Start();
}
return true;
}
catch (Exception ex)
{
Logger.Write(LoggerLevel.ERROR, "注册dsoframer.ocx失败" + ex.Message, ex.StackTrace);
return false;
}
}

/// <summary>
/// 检测ocx是否注册
/// </summary>
/// <param name="ClassId"></param>
/// <returns></returns>
private bool CheckRegistredOcx(string ClassId)
{
Microsoft.Win32.RegistryKey Regkey = Microsoft.Win32.Registry.ClassesRoot.OpenSubKey(ClassId);
if (Regkey != null)
{
string res = Regkey.OpenSubKey("InprocServer32").GetValue("").ToString();
Logger.Write(LoggerLevel.ERROR, "已注册dsoframer.ocx控件", "注册路径:" + res);
return true;
}
else
{
Logger.Write(LoggerLevel.ERROR, "未注册dsoframer.ocx控件", "");
return false;
}
}

原文地址:https://www.cnblogs.com/zsqdh/p/9771997.html

时间: 2024-08-02 09:21:36

C# 从注册表判断指定ocx控件是否已注册 以及获取它的注册路径的相关文章

OCX控件的注册卸载,以及判断是否注册

方法一:在dos或Windows命令行下运行:regsvr32 ocxname.ocx 注册 示例:regsvr32 netshare.ocx     //注册netshare.ocx控件regsvr32 /u netshare.ocx //解除netshare.ocx控件的注册 如果netshare.ocx文件不在system目录时,还必须在文件名前加上完整的路径.除了regsvr32应用程序之外,Microsoft在它 的 web 站点上还提供了一个称为regclean.exe 的程序,可以

VC++如何在程序中用代码注册和卸载ocx控件(代码)

方法一:在dos或Windows命令行下运行:regsvr32 ocxname.ocx 注册 示例:regsvr32 netshare.ocx     //注册netshare.ocx控件regsvr32 /u netshare.ocx    //解除netshare.ocx控件的注册 如果netshare.ocx文件不在system目录时,还必须在文件名前加上完整的路径.除了regsvr32应用程序之外,Microsoft在它的 web 站点上还提供了一个称为regclean.exe 的程序,

帮同事写了几行代码,在安装/下载程序里注册/卸载OCX控件

写了个小控制台程序,这个程序用来注册 / 卸载OCX控件,用在Inno Setup做的安装卸载程序里. #include "stdafx.h" #include <windows.h> #include <iostream> using std::cout; using std::endl; using std::cerr; int _tmain(int argc, _TCHAR* argv[]) { __try { STARTUPINFO si1 = {siz

【c++】注册OCX控件

几种注册OCX控件的方法. 一. 如果是自己编写的程序,可以以管理员身份打开VS,编译通过后即注册成功. 二.在 控制面板->用户帐户和家庭安全->用户帐户->更改用户帐户控制设置->设为从不通知(可能会有危险) 三.附件->命令提示符,输入对应的OCX进行注册 输入  regsvr32  name.ocx 四.使用.bat文件进行注册.新建txt文档,在文档中输入要注册的OCX的名字,regsvr32  .\name.ocx把txt后缀改为.bat,双 击文件自动进行注册.

win7的64位系统注册ocx控件

 win7的64位系统注册ocx控件 简介:前两天系统出问题了,导致开发环境很多插件需要重装, 当我针对winform的几个错误,安装控件解决时,就出现了错误, 始终装不上,如图: 解决方案: 1.首先复制 XXXX.OCX文件到"C:\Windows\SysWOW64"目录. (XXXX.OCX 是你准备注册的OCX控件) 2.在C:\Windows\sysWOW64 目录中找到cmd.exe的程序 3.右键单击该程序选择"管理员身份运行" 4.进入cmd D

模拟仪器仪表ActiveX(OCX)控件 - 模拟指针表

模拟指针仪表OCX控件Visual C++开发提供100个自定义属性,包括背景.量程.指针.标记.标记色带.标题.字体.图片等. 这是最初状态,默认状态,未定义任何属性 属性: 下面是精彩部分,自定义好的各种模拟表 一.仿奥迪汽车表盘 二.其他常用仪表 演示版下载地址: https://pan.baidu.com/s/1zg8VCnnqBeYThUvE3pCO0g 提取码: tv93 原文地址:https://www.cnblogs.com/steventian/p/12037234.html

VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程

开篇语:最近在弄ocx控件发布到asp.net网站上使用,就是用户在使用过程中,自动下载安装ocx控件.(此文章也是总结了网上好多人写的文章,我只是汇总一下,加上部分自己的东西,在这里感谢所有在网上发表相关内容的朋友们.) ActiveX控件用于Web的过程是将控件嵌入主页中,用户通过浏览器访问该主页时,将主页中的控件下载,并在用户机器上注册,以后就可在用户的浏览器上运行.控件下载一次后就驻留在用户本地机器上,下次再访问相同的主页时,可不再下载该控件,而是直接运行用户本地的控件.这里控件容器就是

[activeX]VC2005开发MFC ActiveX ocx控件全过程[转]

ActiveX控件用于Web的过程是将控件嵌入主页中,用户通过浏览器访问该主页时,将主页中的控件下载,并在用户机器上注册,以后就可在用户的浏览器上运行.控件下载一次后就驻留在用户本地机器上,下次再访问相同的主页时,可不再下载该控件,而是直接运行用户本地的控件.这里控件容器就是浏览器,用户不需要通过浏览器调用控件的属性或方法.因此,开发面向Web的ActiveX控件比开发桌面的控件还要简单些,所复杂的是如何将该控件很好地嵌入主页,使用户能正常浏览.下面介绍这个问题. 一.        创建MFC

在Web上调用Ocx控件

原文:http://blog.csdn.net/goodadult2012/article/details/6343369 在HTML页面中使用ActiveX控件包含三个基本操作:将控件放入HTML中:将该控件下载给用户:在用户机器上安装该控件.如果只是针对IE用户,在HTML中插入ActiveX控件就比较简单:如果同时兼顾IE和Netscape用户,则要做更多工作.大家知道,HTML文件由文本和各种标志 (tags)组成,ActiveX 控件对于IE在HTML中的标志是<OBJECT>,该标