注册OCX控件

BOOL CYourClass::RegistOcx()

{

HINSTANCE hLib = LoadLibrary("NTGraph.ocx");      //指定要注册的ocx文件的路径及文件名。

if (hLib == NULL)

{

  MessageBox("不能载入OCX文件!");

  return;

}

//获取注册函数DllRegisterServer地址

  FARPROC lpDllEntryPoint;

  lpDllEntryPoint = GetProcAddress(hLib,"DllRegisterServer");

//调用注册函数DllRegisterServer

  if(lpDllEntryPoint!=NULL)

  {

    if(FAILED((*lpDllEntryPoint)()))

    {

      //MessageBox(Handle,"调用DllRegisterServer失败!","失败ing..",MB_OK);

       MessageBox("OCX注册失败!");

      FreeLibrary(hLib);

  return;

};

  //MessageBox(Handle,"注册成功!","Reg",MB_OK);

  MessageBox("OCX注册成功!");

  }

  else

MessageBox("OCX注册失败!");

  //MessageBox(Handle,"调用DllRegisterServer失败!","失败ing..",MB_OK);

}

卸载控件

BOOL CYourClass::UnRegistOcx()

{

  HINSTANCE hLib = LoadLibrary("NTGraph.ocx");

    //指定要注册的ocx文件的路径及文件名。

    if (hLib==NULL)

    {

      //MessageBox(Handle,"不能载入Dll文件!","失败ing..",MB_OK);

      MessageBox("不能载入OCX文件!");

      return;

    }

  //获取注册函数DllRegisterServer地址

  FARPROC lpDllEntryPoint;

  lpDllEntryPoint = GetProcAddress(hLib,"DllUnregisterServer");//注意这里是DllUnregisterServer。

//调用注册函数DllRegisterServer

  if(lpDllEntryPoint!=NULL)

  {

    if(((*lpDllEntryPoint)()))

    {

    //MessageBox(Handle,"调用DllUnRegisterServer失败!","失败ing..",MB_OK);

     MessageBox("调用DllUnRegisterServer失败!!!");

    FreeLibrary(hLib);

    return;

};

  //MessageBox(Handle,"注销成功!","Unreg",MB_OK);

MessageBox("OCX注销成功!");

  }

   else

  //MessageBox(Handle,"调用DllUnRegisterServer失败!!!","结果",MB_OK);

MessageBox("OCX调用DllUnRegisterServer失败!!!");

}

判断是否注册

BOOL CYourClass::IsRegistOcx()

{

  HKEY hKey;

  BOOL bPresent;

  TCHAR szPath[_MAX_PATH];

  DWORD dwRegType;

  DWORD cbData   =   sizeof   szPath   *   sizeof   TCHAR;

if(RegOpenKeyEx(HKEY_CLASSES_ROOT,"ActiveX.ActiveXControl//Clsid",0,KEY_READ,&hKey)!=ERROR_SUCCESS)

     return false;

else

return true;   //ActiveX.ActiveXControl为控件的名称和内部名称   如"NTGRAPH.NTGraphCtrl.1//CLSID"

}

VC++注册,卸载OCX控件,以及判断是否注册的更多相关文章

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

    写了个小控制台程序,这个程序用来注册 / 卸载OCX控件,用在Inno Setup做的安装卸载程序里. #include "stdafx.h" #include <windo ...

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

    方法一:在dos或Windows命令行下运行:regsvr32 ocxname.ocx 注册 示例:regsvr32 netshare.ocx     //注册netshare.ocx控件regsvr ...

  3. Delphi安装/卸载OCX控件的方法

    delphi  安装卸载ocx 请参见 如下 http://blog.csdn.net/xt_chaoji/article/details/7027298 打开Delphi,关闭所有项目. 1.    ...

  4. 程序安装时注册dsoframer.ocx控件

    我使用的是Smart Install Maker打包软件 (1)将dsoframer.ocx控件添加进 (2)添加ActiveX控件 dsoframer.ocx属于ActiveX控件,在ActiveX ...

  5. win7/win8 64位系统注册TeeChart8.ocx 控件---以及dllregisterserver调用失败问题解决办法

    TeeChart控件就不多介绍了,很多朋友不知道开始怎么注册使用,尤其是在64位系统下如何注册的问题,具体如下: win7.win8  64位系统问题所在: 64位的系统一般都是可以安装32位程序的 ...

  6. win10 x64 注册ZQDeviceOcx.ocx控件

    正常的方式在32位系统下可行, 但是在64位系统下是不可行的. 在64位系统中正确的注册步骤是: 1. 将对应的ocx和dll放到C:\Windows\SysWOW64目录下. 2. 然后找到C:\W ...

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

    方法一:在dos或Windows命令行下运行:regsvr32 ocxname.ocx 注册 示例:regsvr32 netshare.ocx     //注册netshare.ocx控件regsvr ...

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

    /// <summary> /// 注册控件 /// </summary> /// <returns></returns> public bool Re ...

  9. Win7 64位系统 注册 ocx控件

    32位系统注册ocx就不谈了.网上一搜一大把.下面说下win7 64位 旗舰版下如果注册ocx控件    1.首先复制 XXXX.OCX文件到“C:\Windows\SysWOW64”目录. (XXX ...

随机推荐

  1. 【golang】go语言,进行并发请求的wrap变参封装

    package main import ( "fmt" "sync" "time" ) type WaitGroupWrapper stru ...

  2. MySQL数据库指定字符集

    mysql 创建数据库时指定编码很重要,很多开发者都使用了默认编码,但是我使用的经验来看,制定数据库的编码可以很大程度上避免倒入导出带来的乱码问题. 我们遵循的标准是,数据库,表,字段和页面或文本的编 ...

  3. 【转】[caffe]深度学习之图像分类模型AlexNet解读

    [caffe]深度学习之图像分类模型AlexNet解读 原文地址:http://blog.csdn.net/sunbaigui/article/details/39938097   本文章已收录于: ...

  4. nginx 报错 upstream timed out (110: Connection timed out)解决方案

    nginx 作PHP的web接口服务器. 在线上发现时不时经常崩溃.504,导致接口访问无响应回复. 查看日志: [error] 11618#0: *324911 upstream timed out ...

  5. java 图示

    java类继承关系 java流类图结构

  6. jQuery in action 3rd - Introducing jQuery

    2014 年 10 月, jQuery Foundation 的总裁 Dave Methvin 发布了一篇博客(http://blog.jquery.com/2014/10/29/jquery-3-0 ...

  7. wiredtiger - hazard pointers

    http://www.drdobbs.com/lock-free-data-structures-with-hazard-po/184401890 memory deallocation  lock- ...

  8. 简单利用jQuery加tomcat,让前端开发不再依赖于后端的接口

    前端开发的过程中,我们免不了和后端进行联调,这时候就会出现以下的尴尬场景: 接口没写好,没法做接下来的功能 功能写好了,接口没写好,没法测这个功能 联调了,除了BUG,不知道锅在谁身上,只得陪后端耗时 ...

  9. MVC中使用RazorPDF创建PDF

    这篇文章主要介绍使用Nuget package中的RazorPDF简单的创建PDF的方法. 关于RazorPDF 这个Nuget Package由Al Nyveldt创建.它内部使用ITextShar ...

  10. 更改vsts源代码绑定服务器地址方法

    第一步找到更改源代码管理 第二步首先选中第一个,滚动条拉至最后一项,点击最后一项(全选). 第三步点击绑定,vsts会自动签出所有项目,而后签入就可以更改成功了.