即便是经常被人批评,但是OCX,还是存在很多年了,在经后很多年,它都还将存在着。因为在有的环境下,简单的b/s开发技术是达不到需求的。比如访问硬件设备,比如安全防护。因此我们还要用到OCX的。...但是要想在正式的场合下,在WEB界面上用OCX,需要进行签名。否则很多时候浏览器会禁止加载OCX。同时还会无数的警告。
与窗口控件通过发送消息通知其拥有者类似,ActiveX控件是通过触发事件来通知其包容器的。事件的触发通常是通过控件包容器提供的IDispatch接口来调用自动化对象的方法来实现的。...如果勾上,生成时会多出一个文件.lic , 只有拥有许可的用户才可以调用ocx插件。继续下一步。 ? ? 4.完成创建控件项目自动创建好MFC ActiveX程序框架。 ? ?...2.方法 方法就是控件开放给用户使用的一些功能函数,类似于C++的类函数。开发人员可以提供自定义功能。 如下图所示我们添加一个方法Start(),其他默认。 ? ?...在start 事件中我们调用showcurrenttime 函数,函数实现已经给出。接着我们回调事件函数。 ? ?...3.反注册 反注册控件regsvr32 -u 控件路径XXX ? 到此我们OCX 控件制作就完成了。
因为VFP出来时还没有.NET,所以VFP不支持.NET,C#编写出来的DLL控件需要转换成系统COM组件,才能够被VFP调用,当然不仅仅局限于C#与VFP之间的调用,各种语言都有自己写COM组件的方法...下面就先介绍下,关于VFP与C#之间的联系 第一步:C#编写COM组件 1、新建一个类库项目 ? 2、将Class1.cs改为我们想要的名字(例如:MyClass.cs) ?...System.Text; namespace dll1 { [ComVisible(true)] [Guid("A9762ABB-7FED-4CF0-B69B-4B5A594839C1... public void Dispose() { } } [ComVisible(true)] [Guid("9B2FD85C-...第二步:VFP调用COM组件 PRIVATE obj as Object obj = CREATEOBJECT("dll1.Class1")*!
这段时间做了一个B/S下套打的控件(过几天整理一下放到博客上来),控件测试完成,但是因为没有数字证书,IE如果不设置信任区域和等级的话,会直接被阻止下载安装(我不期望客户能熟练地改IE设置),但是数字证书价格昂贵...证书的制作就是这么简单,下面我们来对自己做的ocx控件签名(我的控件是print.cab),双击目录里的signcode.exe文件,出现了数字签名向导: 选择你做的控件: 下一步,签名选项选“...接下来,我们需要把数字证书(cer文件)安装到根系统存储区,“运行”执行如下命令: E:\delphi\SignTool\certmgr -add -c printocx.cer -s root 会有这样的一个提示...就此,OCX控件数字签名讲解完毕,当然还有一些需要考虑的:总不至于让用户执行安装证书的指令吧?!...这个问题也只能这样解决:做一个批处理,把certmgr -add -c printocx.cer -s root写到批处理中,把certmgr.exe和cer证书放到同目录,让用户在使用你的B/S系统之前执行这个批处理即可
最近有开发者用EasyPlayer-RTSPWebActiveX.ocx控件时总是注册不成功,所以整理了一个文档,方便后面使用。 ?...说到这个,就想到我之前为大家解决问题的时候,有提过一个工具的使用:运行EasyRTSPSever组件提示程序无法启动问题解决,这个问题的解决方法就是使用的depends.exe。
在MFC程序中如何注册/注销ActiveX控件(.OCX) VC++ 2009-07-29 22:25 阅读83 评论0 字号: 大大 中中 小小 在程序中注册ActiveX控件(....OCX)的函数 BOOL RegisterOcx(LPCTSTR OcxFileName) { LPCTSTR pszDllName = OcxFileName ; ...//ActiveX控件的路径及文件名 HINSTANCE hLib = LoadLibrary(pszDllName); //装载ActiveX控件 ...=NULL) //调用注册函数DllRegisterServer { if(FAILED((*lpDllEntryPoint)())) ...=NULL) //调用注册函数DllUnregisterServer { if(FAILED((*lpDllEntryPoint)()))
但dll有自己的局限性,就是没有事件,而这个时候ActiveX控件就隆重登场了,同样能够跨语言使用,ActiveX可以提供方法,属性甚至是事件(当然对比dll也有缺点,它不是单独的文件,无法动态加载和卸载...里面最后一句话比较重要,就是用VC开发的OCX控件,你可以在其它语言里面都能调用,这样很好的实现了功能化组件的良好循环使用,而且还可以实现跨语言地调用(例如,你完全可以用C#调用C++开发的OCX控件)...3.控件的使用方法 3.1 注册控件 ocx控件的安装方式有很多种,这里介绍最简单的一种。 步骤: 1.将需要安装的OCX控件文件复制到某个目录,例如C盘根目录下。...3.在出现的框中键入regsvr32 C:/xxxx.ocx 。(XXXX为控件名, C:/为目录) 4.点击确认后等待出现提醒注册成功即可。...3.2.2 通过C#调用 其实这个才是重点,因为跨语言调用ActiveX技术最被笔者看好的地方。
问题描述: 一个窗体集成父窗体,发现无法直接拖动修改的控件,比如修改大小等 特征: 不禁使父窗体控件,就算新加一个控件也会这样:鼠标放到控件移动手方块上会出现一个“继承的控件”的tooptip, 异常
第一步: KSDLL2.idl文件中 dispinterface _DKSDLL2 { properties: methods: [id(1)...
,比如有时候在打开一个工程的瞬间它给你弹出无法加载或加载错误的提示框,在你想用到某个控件时,VB6.0中又找不到……这样的情况真的很让人恼火!!! ...所以当它提示你需要某些控件的时候,比如Systray.ocx,去网上把它下载下来,然后进行注册。 ?...注册方法还是那个老方法: ① 把.ocx文件放到C:\Windows\System32\ ② 运行regsvr32 C:\Windows\System32...②步骤中的regsvr32 C:\Windows\System32\SysTray.ocx运行一下,是不是大功告成啦? ...对,就是把你需要注册的SysTray.ocx控件放到这个文件夹里再进行注册,注册方法跟上面的方法一样,当然注册的路径要改为C:\Windows\syswow64\SysTray.ocx,点击回车的时候是不是像下面那样显示注册成功啦
与窗口控件通过发送消息通知其拥有者类似,ActiveX控件是通过触发事件来通知其包容器的。事件的触发通常是通过控件包容器提供的IDispatch接口来调用自动化对象的方法来实现的。...如果勾上,生成时会多出一个文件.lic , 只有拥有许可的用户才可以调用ocx插件。继续下一步。 ? ? 4.完成创建控件项目自动创建好MFC ActiveX程序框架。 ? ?...在start事件中我们调用showcurrenttime函数,函数实现已经给出。接着我们回调事件函数。 ? ?...注:调试过程中可能提示”无法找到”tstcon32.exe”的调试信息…要继续调试吗?”,选择是即可。...⑨注册控件MyActiveX.ocx 1)用管理员身份运行”Windows命令处理程序”(命令提示符),转到MyActiveX.ocx文件所在目录下,为求简便,我将其移到了C盘的MyActiveX文件夹下
DTPicker是日期选择控件,自Win7开始,它就不是Windows系统自带的,需要下载MSCOMCT2.OCX,并在电脑上注册后才能使用。...(1)下载MSCOMCT2.OCX文件(以下简称OCX文件),参见文末的参考资料[1]。 (2)将OCX文件拷贝到指定文件夹内。...对于64位的windows系统,拷贝路径为:C:\Windows\SysWOW64。对于32位的windows系统,拷贝路径为:c:\windows\system32。...对于64位的windows系统,代码语句为:regsvr32 C:\Windows\SysWOW64\mscomct2.ocx。...注册成功后,打开Excel文件,此时可以在excel表格和VBA窗口中调用DTPicker控件。
在 Windows 中进行多线程编程曾经是 C++ 开发人员的专属特权,但是现在,可以使用所有兼容 Microsoft .NET 的语言来编写。...此外,这条规则的结果是一个被包含的控件(如,包含在一个表单中的按钮)必须与包含它控件位处于同一个线程中。也就是说,一个窗口中的所有控件属于同一个 UI 线程。...这意味着您不能调用用户界面中任意控件上的任何方法,除非在该方法的文档说明中指出可以调用。该规则的例外情况(总有文档记录)非常少而且它们之间关系也不大。...这意味着辅助线程代码不再担心需要过多关注 UI 细节,而只要定期调用 ShowProgress 即可。 如果我提供一个设计为可从任何线程调用的公共方法,则完全有可能某人会从 UI 线程调用这个方法。...在这种情况下,没必要调用 BeginInvoke,因为我已经处于正确的线程中。调用 Invoke 完全是浪费时间和资源,不如直接调用适当的方法。
01 OCX开发总结 首先,使用ocx意味着,网站只支持windows!! MFC ActiveX和ATL C++ ocx开发,有ATL和MFC ActiveX两套框架。...如果ocx需要界面的话,如监控控件需要显示视频流。建议使用MFC ActiveX,可以像MFC Dialog项目那样写界面,尽管说MFC过时了,但C++写简单实用的界面,还有其他更好的选择?...如果很在意ocx控件大小的话,只能用ATL,因为MFC ActiveX是MFC项目——打入MFC库,不够轻量。...遇到棘手的情况,使用VARIANT类型——union定义的“万能类型”,当年在VB、VC、C#等扩平台调用时出现过问题,使用复杂,现在具体已经记不清了。...操作ocx接口的name属性 ocx.start()调用ocx接口的start方法 为什么param标签初始化ocx属性值不成功?!
项目中用到了一个第三方的ie ocx控件,而经常遇到客户和测试小伙伴反馈相关功能无法正常使用,也没有友好提示。其实很多时候是插件未正常安装,或者是自定义安全级别设置有误。...考虑到这个问题,必须要有一个ie ocx控件的检查机制。 检查原理 创建ActiveXObject对象去检查ocx控件,如果创建成功,则代表插件安装正确,否则安装有误。...插件供应商只提供了控件安装包,示例程序,clsid ...注册表HKEY_CLASSES_ROOT 当然还是要靠搜索功能,于是我根据clsid的值27E1A157-6A29-48AE-86C2-14591D90B4D4进行查找 ?...ocx未安装的友好提示
TabSheet 方法 CanShowTab:返回指定的页是否能被显示 Change:系统调用。...当前页改变时自动调用 DoAddDockClient:当在该控件停靠时,指定一个必须调解器 DoRemoveDockClient:当在该控件使出时,指定一个必须调解器 FindNextPage...GetPageFromDockClient:可获得客户区上放置的单标签页 GetSiteInfo:确定页面组件的停靠区域并确定拖动的窗口是否可放入 Loaded:当窗体包含的页面组件首次从内存中调入后,自动调用该方法来初始化页面组件...Position:当前的进度值 Smooth:设置是以平滑前进还是以格式前进 Step:每步的进度跨度 方法 StepBy:在原值的基础上增加参数中指定的值 StepIt:每调用一次...返回该控件内的行数 ShowCaptions:在按钮上是否显示Caption的文本 Transparent:是否透明 Wrapable:当该控件内的所有控件的总宽度大于该控件的宽度时,是否自动换行
方法一:在工具箱中插入COM控件,当把控件拖到界面上后,将会自动产生两个封装的dll,并在引用中添加。 问题:当ocx需要不断升级时,这种方法很痛苦,需要重新走一遍,老是清不干净。...(tlbimp封装无UI的ocx) 调用:vs2008在命令行下直接可以使用。aximp。vs2005则在sdk/v2.0/bin下有aximp。 运行后对ocx封装,得到两个文件。在vs中引用。...,稍微调整控件,系统将自动把刚才的代码重新编写排列。...当ocx升级并完成注册后,只要重新封装,覆盖相应的dll即可!!!...参考: http://hi.baidu.com/zdzcool/blog/item/1aaba9fb74809d9d58ee9075.html/cmtid/c9ca0876def26316b151b95c
作为科研人员,使用JADE分析材料物相以及一些定量分析是必不可少的软件,然而这款软件在安装时会出现各种奇葩问题,最常见的就是,安装后跳出一个提示缺少XXXXX.ocx控件 Run-time error...: comdlq32.ocx MSCOMCT2.OCX MSCOMCTL.OCX THREED32.OCX 小编特地给大家准备了一个批处理文件,下载后一键运行注册,一次性解决问题。...注册控件的程序。 注意:如果仍然弹出注册失败,就得自行复制四个控件文件到 C:\Windows\SysWOW64\ 的目录下之后再次运行该批处理程序即可....fm fn p r c 等参数代表什么意思?...一般看fm小的,十几二十就很可能了 这些五六十太高了 基本都是错的 峰太少了,多标些再来 (建议先用已知物练手) NO.5 jade对晶胞参数进行精修功能无法使用是怎么回事?
一个分发单位也可以包含软件组件, 如 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=...注意: 如果控件已经在客户机注册,并且不是通过.CAB的方式注册,那么通过.CAB自动注册的时候,该控件将无法被更新。必须先手动删除该文件。 2....2) 使用Cert2Spc生成spc发行者证书(可选):cert2spc d:\pos.cer c:\pos.spc 3) 双击signcode,不带参数会启动签名向导。
但Microsoft自己恐怕无法解释清楚,这要花费相当的精力和时间。 于是,随着Internet的发展,在1996年春,Microsoft改变了主意,选择ActiveX作为新的商标名称。...3.注册ActiveX控件 使用Windows的人对于ActiveX控制一定不会陌生,它提供了一种类似于DLL动态链接库的调用,不过它与DLL的唯一区别就是ActiveX不注册不能被系统识别并使用。...利用它也能够非常方便地注册ActiveX控件,它的用法为: regsvr32 /u /s /c /i /n dllname 其中dllname为ActiveX控件文件名,建议在安装前拷贝到System...文件夹下参数有如下意义: /u - 反注册控件 /s - 不管注册成功与否,均不显示提示框 /c - 控制台输出 /i - 跳过控件的选项进行安装 (与注册不同) /n - 不注册控件...例如:笔者要注册 amovie.ocx 控件,则打入regsvr32 amovie.ocx即可, 要反注册它时只需使用 regsvr32 /u amovie.ocx就行了。
领取专属 10元无门槛券
手把手带您无忧上云