VC++注册,卸载OCX控件,以及判断是否注册
注册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控件,以及判断是否注册相关推荐
- VC++如何在程序中用代码注册和卸载ocx控件(代码)
方法一:在dos或Windows命令行下运行:regsvr32 ocxname.ocx 注册 示例: regsvr32 netshare.ocx //注册netshare.ocx控件 regs ...
- CAD制图, 机械CAD, 建筑CAD, 电力CAD, CAD设计, 数控与CAM, DXF导入\导出, 打印, 软件开发, VC++源代码,OCX 控件源程序2018
CAD制图, 机械CAD, 建筑CAD, 电力CAD, CAD设计, 数控与CAM, DXF导入\导出, 打印, 软件开发,VC++源代码,OCX 控件源程序2018 -- 100%源码开放企业级CA ...
- 程序安装时注册dsoframer.ocx控件
我使用的是Smart Install Maker打包软件 (1)将dsoframer.ocx控件添加进 (2)添加ActiveX控件 dsoframer.ocx属于ActiveX控件,在ActiveX ...
- OCX控件的注册卸载,以及判断是否注册
方法一:在dos或Windows命令行下运行:regsvr32 ocxname.ocx 注册 示例: regsvr32 netshare.ocx //注册netshare.ocx控件 regs ...
- VC++ OCX 控件注册
转自:http://www.cctry.com/thread-5334-1-1.html 方法一:在dos或Windows命令行下运行:regsvr32 ocxname.ocx 注册 示例: regs ...
- OCX控件在win10下的查看、删除、注册、卸载
OCX控件我们平时应该接触过很多,比如ActiveX控件.MFC ActiveX控件.还有我们在HTML网页中使用的ActiveX控件等,以上这些都归属与OCX控件的范围. 那么如何查看这些ocx控件 ...
- ocx控件注册失败常见问题
注册及卸载: regsvr32 name.ocx //注册name.ocx控件 regsvr32 /u name.ocx //解除name.oc ...
- Win7 64位系统 注册 ocx控件
32位系统注册ocx就不谈了.网上一搜一大把.下面说下win7 64位 旗舰版下如果注册ocx控件 1.首先复制 XXXX.OCX文件到"C:\Windows\SysWOW64"目 ...
- 做VB的,经常注册和反注册OCX控件和DLL链
做VB的,经常注册和反注册OCX控件和DLL链 但是,每次都要 "开始"--"运行" --"regsvr32 C:\********\******.o ...
最新文章
- 测序发展史,150年的风雨历程 (第二版)
- MATLAB中:左右除法、逆inv、广义逆pinv的区别
- get;get属性器
- *【CodeForces - 122D】Lucky Transformation(字符串问题,思维剪枝,优化,有坑,需注意的问题if的层次总结)
- CVPR 9999 Best Paper——《一种加辣椒的番茄炒蛋》
- 为什么蚂蚁金服架构师建议从Zookeeper开始提升技术水平?
- A remark on the error-backpropagation learning algorithm for spiking neural networks
- 一阶广义差分模型_贵州茅台(600519)股价预测 (ARIMA模型)
- 通过Chrome扩展来批量复制知乎好友
- ubuntu下的qt程序移植至ARM开发板
- 应对大数据分析的几个方法
- php 如何执行top命令,批处理模式下运行 top 命令的方法
- Too many open files故障解决一例
- 华为C语言编程规范(精华总结)
- ubuntu 安装opensips osip exosip
- RGB、HSL、Hex网页色彩,看完这篇全懂了
- 【计算机网络】(一):计算机网络+互联网基本知识
- 小程序分享功能以及坑
- Linux 云服务器的使用
- word中怎样设置行距行高
热门文章
- vue ----vue-cli
- html页面判断其他div为空,将外部html加载到div - 页面加载然后变为空白
- new ext.toolbar控制按钮间距_新闻速递 | APT携新品金属按钮亮相宝博会,圈粉无数!...
- vue项目中更新element-ui版本
- Ubuntu 18.04安装软件包下载速度慢的解决方案
- Android开发笔记(一百六十一)NFC近场通信
- Android开发笔记(四十八)Thread类实现多线程
- 12306网站将新增微信通知方式
- 线程池的拒绝策略(重要)
- 在linux摸索的过程