注册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"

}

转载于:https://www.cnblogs.com/MaxWoods/p/4113200.html

VC++注册,卸载OCX控件,以及判断是否注册相关推荐

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

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

  2. CAD制图, 机械CAD, 建筑CAD, 电力CAD, CAD设计, 数控与CAM, DXF导入\导出, 打印, 软件开发, VC++源代码,OCX 控件源程序2018

    CAD制图, 机械CAD, 建筑CAD, 电力CAD, CAD设计, 数控与CAM, DXF导入\导出, 打印, 软件开发,VC++源代码,OCX 控件源程序2018 -- 100%源码开放企业级CA ...

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

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

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

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

  5. VC++ OCX 控件注册

    转自:http://www.cctry.com/thread-5334-1-1.html 方法一:在dos或Windows命令行下运行:regsvr32 ocxname.ocx 注册 示例: regs ...

  6. OCX控件在win10下的查看、删除、注册、卸载

    OCX控件我们平时应该接触过很多,比如ActiveX控件.MFC ActiveX控件.还有我们在HTML网页中使用的ActiveX控件等,以上这些都归属与OCX控件的范围. 那么如何查看这些ocx控件 ...

  7. ocx控件注册失败常见问题

    注册及卸载: regsvr32 name.ocx                 //注册name.ocx控件 regsvr32 /u name.ocx             //解除name.oc ...

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

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

  9. 做VB的,经常注册和反注册OCX控件和DLL链

    做VB的,经常注册和反注册OCX控件和DLL链 但是,每次都要 "开始"--"运行" --"regsvr32 C:\********\******.o ...

最新文章

  1. 测序发展史,150年的风雨历程 (第二版)
  2. MATLAB中:左右除法、逆inv、广义逆pinv的区别
  3. get;get属性器
  4. *【CodeForces - 122D】Lucky Transformation(字符串问题,思维剪枝,优化,有坑,需注意的问题if的层次总结)
  5. CVPR 9999 Best Paper——《一种加辣椒的番茄炒蛋》
  6. 为什么蚂蚁金服架构师建议从Zookeeper开始提升技术水平?
  7. A remark on the error-backpropagation learning algorithm for spiking neural networks
  8. 一阶广义差分模型_贵州茅台(600519)股价预测 (ARIMA模型)
  9. 通过Chrome扩展来批量复制知乎好友
  10. ubuntu下的qt程序移植至ARM开发板
  11. 应对大数据分析的几个方法
  12. php 如何执行top命令,批处理模式下运行 top 命令的方法
  13. Too many open files故障解决一例
  14. 华为C语言编程规范(精华总结)
  15. ubuntu 安装opensips osip exosip
  16. RGB、HSL、Hex网页色彩,看完这篇全懂了
  17. 【计算机网络】(一):计算机网络+互联网基本知识
  18. 小程序分享功能以及坑
  19. Linux 云服务器的使用
  20. word中怎样设置行距行高

热门文章

  1. vue ----vue-cli
  2. html页面判断其他div为空,将外部html加载到div - 页面加载然后变为空白
  3. new ext.toolbar控制按钮间距_新闻速递 | APT携新品金属按钮亮相宝博会,圈粉无数!...
  4. vue项目中更新element-ui版本
  5. Ubuntu 18.04安装软件包下载速度慢的解决方案
  6. Android开发笔记(一百六十一)NFC近场通信
  7. Android开发笔记(四十八)Thread类实现多线程
  8. 12306网站将新增微信通知方式
  9. 线程池的拒绝策略(重要)
  10. 在linux摸索的过程