到此我们OCX 控件制作就完成了。...⑨注册控件MyActiveX.ocx 1)用管理员身份运行”Windows命令处理程序”(命令提示符),转到MyActiveX.ocx文件所在目录下,为求简便,我将其移到了C盘的MyActiveX文件夹下...2.dir :查看当前目录下文件信息 3.regsvr32 xxx.ocx :装载控件 4.regsvr32 -u xxx.ocx :卸载控件 5.regedit :注册表编辑器(在第一个文件夹下的CLSID...目录下,有注册号信息) 注:ocx控件使用前一定要先卸载旧的。...注册命令:regsvr32 "E:\Clock.ocx" 反注册命令:regsvr32 /u "E:\Clock.ocx" 在此介绍两个实用工具: 工具一:RegDllView 功能:查看电脑中已注册的组件
comct232.ocx 6.0.98.39 comct332.ocx 6.7.0.9839 comctl32.ocx 6.0.98.39 comdlg32.ocx 6.1.98.40 dblist32....ocx 6.1.98.39 mci32.ocx 6.1.98.39 mscomct2.ocx 6.1.98.39 mscomctl.ocx 6.1.98.39 mscomm32.ocx 6.1.98.39...msdatgrd.ocx 6.1.98.39 msdatlst.ocx 6.1.98.39 msflxgrd.ocx 6.1.98.39 mshflxgd.ocx 6.1.98.39 msinet.ocx...vb40016.dll 4.0.24.22 vbrun100.dll vbrun200.dll 2.0.9.8 vbrun300.dll 3.0.5.3 msvbvm50.dll 5.2.82.4 atl70....dll 7.0.9975.0 atl71.dll 7.10.6119.0 mfc70.dll 7.0.9975.0 mfc70chs.dll 7.0.9975.0 mfc70cht.dll 7.0.9975.0
01 OCX开发总结 首先,使用ocx意味着,网站只支持windows!! MFC ActiveX和ATL C++ ocx开发,有ATL和MFC ActiveX两套框架。...二者的比较,简单说,MFC封装程度高,故MFC使得你很快完成你的工程并更快的运行起来,但是牺牲了灵活性;ATL更接近COM核心,轻量级。 如果ocx需要界面的话,如监控控件需要显示视频流。...如果很在意ocx控件大小的话,只能用ATL,因为MFC ActiveX是MFC项目——打入MFC库,不够轻量。...如若使用ocx的bool,推荐判false——都是0。...操作ocx接口的name属性 ocx.start()调用ocx接口的start方法 为什么param标签初始化ocx属性值不成功?!
pvk xxx.pvk -pi PASSWORD -spc xxx.spc -pfx xxx.pfx -f [3]signtool sign /f AVIDM.pfx /p PASSWORD xxx.ocx
ATL模板类库使用Thunk技术来实现与窗口消息相关联的HWND和负责处理消息的对象的this指针之间的映射。 ...ATL中窗口类注册时,窗口过程函数缺省值都是StartWindowProc,当创建窗口产生第一条消息时将调用此函数。
Active Template Library (ATL) A C++ template library used to create ActiveX servers and other Component...ActiveX controls created with ATL are generally smaller and faster than those created with the Microsoft...ATL and MFC can help implement COM features. MFC - Library/Framework used to build Win32 apps....ATL - Framework which helps building COM application....You dont need to use MFC, ATL or COM if you use .Net. .Net is much much more than this though.
atl窗体通过CComControlBase的内部变量控制,窗体属性,包括onsize事件对应的m_bRecomposeOnResize变量控制窗体变化事件响应。 2.可插入的控件 ?...axHost错误是因为,activex未设置插入属性(见2的设置) 4.atl中指针错误不会异常崩溃,可以通过vs的反汇编查询打印输出提示的异常地址得到具体错误点 ?...6.atl中自定义数据类型 typedef [v1_enum, helpstring("_WeekDay Enum")] enum _WeekDay { Sunday=0, Monday,...字符串 atl字符串使用BSTR,C++的封装类中_b_str,通过copy方法传出字符串到BSTR。...连接点需要atl创建过程中,使用项目支持“连接点”和IPropertyNotifySInk。连接点主要为创建回调函数,类似wcf的双工通信契约。创建成功后,控件本身会增加事件接口。
即便是经常被人批评,但是OCX,还是存在很多年了,在经后很多年,它都还将存在着。因为在有的环境下,简单的b/s开发技术是达不到需求的。比如访问硬件设备,比如安全防护。因此我们还要用到OCX的。...但是要想在正式的场合下,在WEB界面上用OCX,需要进行签名。否则很多时候浏览器会禁止加载OCX。同时还会无数的警告。
如果勾上,生成时会多出一个文件.lic , 只有拥有许可的用户才可以调用ocx插件。继续下一步。 ? ? 4.完成创建控件项目自动创建好MFC ActiveX程序框架。 ? ?...到此我们OCX 控件制作就完成了。
例如:笔者要注册 amovie.ocx 控件,则打入regsvr32 amovie.ocx即可, 要反注册它时只需使用 regsvr32 /u amovie.ocx就行了。...Regedit.exe注册表编辑程序,利用关键字进行搜索,然后把搜索得到后的注册表导出为REG注册表文件,再将其相应的ActiveX文件拷贝到Windows的System文件夹(一般ActiveX的文件名为OCX...OCX,DLL是扩展名。 Activex有两种扩展名OCX和DLL。实际上你可以把它们的扩展名字调换。COM作为ActiveX的更新技术,扩展名也有可能是DLL。
4.服务器的默认线程模型 [cpp] view plain copy #if defined(_ATL_SINGLE_THREADED) #if defined(_ATL_APARTMENT_THREADED...) #if defined(_ATL_SINGLE_THREADED) || defined(_ATL_FREE_THREADED) #pragma message ("More than one ...) #if defined(_ATL_SINGLE_THREADED) || defined(_ATL_APARTMENT_THREADED) #pragma message ("More than...经过了这么多层封装,ATL 已经把AddRef()和Release()所需要的操作全部实作出来了,可是ATL还是没有迈出最后的一步——没有把这些操作整合进AddRef()和 Release(),这是因为...ATL还要考虑聚合的因素。
问题:当ocx需要不断升级时,这种方法很痛苦,需要重新走一遍,老是清不干净。 方法二:用AxImp封装。(tlbimp封装无UI的ocx) 调用:vs2008在命令行下直接可以使用。aximp。...运行后对ocx封装,得到两个文件。在vs中引用。...当ocx升级并完成注册后,只要重新封装,覆盖相应的dll即可!!!
Directive file “,进入下一步, 在上图中选中”只创建压缩文件(ActiveX安装):Create compressed files only(ActiveX Installs)”,进入下一步把用到的OCX...按照图配置选项后,就连续点”下一步”,(说明:我第一次选择的OCX文件位于当前目录下,制作报错,然后,我将OCX文件复制到C盘的System32目录下,选择OCX文件时,也选择此目录下的LiteArrayCtrl.ocx
项目中用到了一个第三方的ie ocx控件,而经常遇到客户和测试小伙伴反馈相关功能无法正常使用,也没有友好提示。其实很多时候是插件未正常安装,或者是自定义安全级别设置有误。...考虑到这个问题,必须要有一个ie ocx控件的检查机制。 检查原理 创建ActiveXObject对象去检查ocx控件,如果创建成功,则代表插件安装正确,否则安装有误。...ocx插件在注册表的位置 于是我猜想,servername应该就是SDS_CMSCtrl.SDS_CMSCtrlCtrl.1。经测试,果不其然。...检查代码如下: try { const ocx = new ActiveXObject('SDS_CMSCtrl.SDS_CMSCtrlCtrl.1') console.log(ocx) } catch...ocx未安装的友好提示
ATL 提供了下列帮助您实现集合和枚举数的类。...template class ATL_NO_VTABLE CComEnumImpl : public...Base{} 和 template class ATL_NO_VTABLE...ATL 提供了ICollectionOnSTLImpl接口,使您能够在对象上快速实现基于标准模板库 (STL) 的集合接口。...long EnumeratorExposedType; // 定义枚举器复制策略方法 typedef ATL
ATL的QueryInterface调用追踪 a....::_ATL_INTMAP_ENTRY* WINAPI _GetEntries() throw() { / static const ATL::_ATL_INTMAP_ENTRY _entries...::_ATL_INTMAP_ENTRY* WINAPI _GetEntries() throw() { / static const ATL::_ATL_INTMAP_ENTRY _entries[... dw; _ATL_CREATORARGFUNC* pFunc; //NULL:end, 1:offset, n:ptr }; _ATL_CREATORARGFUNC函数类型的定义 [...* (WINAPI *pFunc)() = (const _ATL_INTMAP_ENTRY* (WINAPI *)())dw; const _ATL_INTMAP_ENTRY *pEntries
将ocx文件以及第三方dll文件打包成cab文件: Internet 软件分发单位是“软件包”,它由包含.INF文件或软件分发.OSD文件(或两者都包括)的.CAB文件所组成。...一个分发单位也可以包含软件组件, 如 ActiveX 控件(.OCX)、.DLL文件、.EXE文件、Java类文件或小程序。...INF文件是一个文本文件,指定运行控件所需要下载或者呈交的文件(比如.DLL或者其它.OCX)。一个.INF文件就捆绑了. CAB压缩文件所有的必须文件。...$” AdvancedINF=2.0 [Add.Code] pcpos.ocx=pcpos.ocx Comm.dll=comm.dll [pcpos.ocx] file-win32-x86=...3) 点击Add,文件添加(pcpos.ocx,pcpos.dll,comm.dll,tcpclnt.dll),点击下一步。
2.ATL对TearOff的内部组件的支持 tear-off接口是按需暴露的接口,但主类并不真正地从它继承。...ATL类实现tear-off接口时,使用CComTearOffObjectBase作为它们的基类,而不是CComObjectRootEx,其实CComTearOffObjectBase就是从CComObjectRootEx...对TearOff的外部组件(拥有者组件)的支持 ATL通过下面两个宏实现对tear-off外部组件的支持 #define COM_INTERFACE_ENTRY_TEAR_OFF(iid, x)/... {&iid,/ (DWORD_PTR)&ATL::_CComCreatorData</ ATL::CComInternalCreator< ATL::CComTearOffObject...::_CComCacheData</ ATL::CComCreator >,/ (DWORD_PTR
ATL对聚合的内部组件的支持 ATL通过CComCreator2模板类以及和聚合相关的宏来支持聚合。...::CComCreator2 >, ATL::CComFailCreator... >, ATL::CComCreator > > _CreatorClass; #define DECLARE_ONLY_AGGREGATABLE...(x) public:/ typedef ATL::CComCreator2, ATL::CComCreator< ATL::CComAggObject...3.ATL对聚合的外部组件的支持 ATL通过以下的宏来支持外部组件聚合其他组件的接口。
比较基础,所以它可以开发出很多和语言无关的公用程序块,如dll动态链接库和COM组件,原则上,只要你的Windows的系统,用VC++开发出来的这些公用程序块就能被任何语言调用(如果不用MFC框架,而用ATL...先来了解下OCX文件,在百度百科上面对OCX是这样解释的: “.ocx是ocx控件的扩展名,OCX 是对象类别扩充组件。...2.4 生成ocx文件并调试 直接编译用户加入了自定义代码的项目,然后在项目的Debug目录下面会生成一个ocx文件,这个就是此控件的注册文件了。 ...3.控件的使用方法 3.1 注册控件 ocx控件的安装方式有很多种,这里介绍最简单的一种。 步骤: 1.将需要安装的OCX控件文件复制到某个目录,例如C盘根目录下。...将控件工具条上新增加的OCX控件拖入到应用程序主窗口中。
领取专属 10元无门槛券
手把手带您无忧上云