暑假在做一个项目的时候,本来是用C#.NET来写的一个港口进出闸的流程控制程序,里面涉及一个响应用PLC的采集信息的问题(PLC用串口和工控机相连接),然后思考如何用C#写串口通讯程序,结果师兄在一旁直接用VC++写了一个“*.ocx控件”,并在自己的电脑上进行了测试,完工后就把生成的“*.ocx”控件注册文件复制到了我们的电脑上。我们就在C#.NET程序里面将此控件拖入到主窗口中,然后就能直接利用此控件的事件来捕捉PLC的命令了,感觉好神奇。然后,我对C++的态度有了极大的转变,以前只知道C++写窗口程序是多么麻烦啊(远不如C#.NET来得快和直接),而它的所谓“比较底层,和底层操作系统的关系比C#这些高级语言要密切很多”的好处一直都没有体会到,现在才知道,正是因为C++比较底层,比较基础,所以它可以开发出很多和语言无关的公用程序块,如dll动态链接库和COM组件,原则上,只要你的Windows的系统,用VC++开发出来的这些公用程序块就能被任何语言调用(如果不用MFC框架,而用ATL框架来编写,甚至还可以脱离Windwos系统,不仅仅实现跨语言,甚至跨平台调用,这个笔者就没有仔细研究了)。
文章背景:最近在查看同事写的VBA代码时,发现了DTPicker日期控件。DTPicker是日期选择控件,自Win7开始,它就不是Windows系统自带的,需要下载MSCOMCT2.OCX,并在电脑上注册后才能使用。
OCX入门:http://blog.csdn.net/hkcsdn/article/details/52908748 前言 ActiveX是Microsoft对于一系列策略性面向对象程序技术和工具的称呼,其中主要的技术是组件对象模型(COM)。 ActiveX控件是一种实现了一系列特定接口而使其在使用和外观上更象一个控件的COM组件。ActiveX控件这种技术涉及到了几乎所有的COM和OLE的技术精华,如可链接对象、统一数据传输、OLE文档、属性页、永久存储以及OLE自动化等。 ActiveX控
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/details/8788813
方法一:在工具箱中插入COM控件,当把控件拖到界面上后,将会自动产生两个封装的dll,并在引用中添加。 问题:当ocx需要不断升级时,这种方法很痛苦,需要重新走一遍,老是清不干净。 方法二:用AxImp封装。(tlbimp封装无UI的ocx) 调用:vs2008在命令行下直接可以使用。aximp。vs2005则在sdk/v2.0/bin下有aximp。 运行后对ocx封装,得到两个文件。在vs中引用。声明一个对象,在InitializeComponent中执行以下操作即可: this.MO = n
C++ ocx开发,有ATL和MFC ActiveX两套框架。二者的比较,简单说,MFC封装程度高,故MFC使得你很快完成你的工程并更快的运行起来,但是牺牲了灵活性;ATL更接近COM核心,轻量级。
EasyPlayer播放器系列项目可以说是目前市面中一款非常开放的播放器项目,用户可以根据自己的需求调用接口或者进行开发,实用性强,稳定性也足够优越,并且该套播放器提供了非常简单易用的SDK及API接口,用户通过API调用就可以非常快速地开发出属于自己的应用程序,进行第二次开发。
LPCTSTR pszDllName = OcxFileName ; //ActiveX控件的路径及文件名
原文链接:https://blog.csdn.net/humanking7/article/details/81253775
先纠正一个观点,所谓自动安装并非强制安装,否则就变成流氓软件了,就算是silverlight,flash这类知名ActiveX,用户也有选择安装或是不安装的权利。 较正统的解决办法是提示用户设置IE权限,然后在object里加入codebase='ocx的下载路径',然后制作数字证书,个人觉得这样比较复杂。 我的办法: 1.先用js检测activex是否可用 <object id='x' name='x' classid='clsid:82AB2103-26BC-4999-8DDE-DF1A647D96E
项目中用到了一个第三方的ie ocx控件,而经常遇到客户和测试小伙伴反馈相关功能无法正常使用,也没有友好提示。其实很多时候是插件未正常安装,或者是自定义安全级别设置有误。考虑到这个问题,必须要有一个ie ocx控件的检查机制。
运行书中自带光盘中的程序,在该程序的readme说明中,提到这类错误,解决方式是:
很多光盘上的程序,比如电脑迷光盘,开头总有一段动画,用来展现企业品牌和LOGO之用。这个动画是Flash做的,而且嵌入到程序中简直做到无缝融合,因为右键点击它也不会有那特有而烦人的Flash右键菜单。
MDI Jade(XRD分析软件)作为专门用于XRD分析(X射线衍射分析)的软件,一直以来深受各位材料领域研究人员的“喜爱”。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/details/8859678
大家好,又见面了,我是你们的朋友全栈君。从网上找了些相关的资料,最终制作成功,做个小的总结:
com英文为Component Object Model(组件对象模型),是微软生产软件组件的标准。
前言 ActiveX是Microsoft对于一系列策略性面向对象程序技术和工具的称呼,其中主要的技术是组件对象模型(COM)。 ActiveX控件是一种实现了一系列特定接口而使其在使用和外观上更象一个控件的COM组件。ActiveX控件这种技术涉及到了几乎所有的COM和OLE的技术精华,如可链接对象、统一数据传输、OLE文档、属性页、永久存储以及OLE自动化等。 ActiveX控件作为基本的界面单元,必须拥有自己的属性和方法以适合不同特点的程序和向包容器程序提供功能服务,其属性和方法均由自动化服务
两年前做的一个项目,当时客户的需求还没有完成,客户就提出了解决安全的问题,这是当时写的一个记录,分享到这里。
鉴于大家对于SkeyePlayer插件的使用还不太熟悉,特此写一篇插件的使用文档,供大家参考;SkeyePlayer插件有两种,一种是基于IE的ActiveX控件,一种是基于FireFox(也支持多浏览器)的npAPI插件;两种插件均包含源码,由于FireBreath框架生成代码比较多,npAPI插件只包含关键代码,后续会提供专门讲解FireBreath生成SkeyePlayer npAPI插件的文档,下面我们开始讲解两种插件如何使用。
1.为什么要用ActiveX? 网页本身的功能是有限的,要想实现一些网页本身不支持的功能,比如:网页上的p2p视频播放,就得靠ActiveX这种古老的技术。 2.c#能开发ActiveX吗? 严格意义
如果开发一个软件,需要用到PDF功能,您的选择是基于Adobe PDF吗? 如果是基于Adobe PDF,需要用户安装一个几十M的Adobe的安装包,这显然是不友好的。
本文转载:http://www.cnblogs.com/StudyLife/archive/2013/03/11/2953516.html
在做一个页面的视频录制时,预览页面时,总会提示Flash10b.ocx加载项失败 ,导致IE被迫关闭,很是恼火。在网上搜了下,原来是原来是Adobe Flash player控件出的问题,10.0的版本加载IE会出现那样的问题。按照网上所说,将Adobe Flash player 10.0 卸载了,安装了Adobe Flash player 9.0的试了下尽可以了。就将此记录了
准备好工具包,微软的IE SDK里包含这些工具, 但是那个开发包太过庞大,而且操作起来也稍微得繁琐了一些你只需要下载这么几个文件就可以了 文中提到的数字签名工具包,请在此处下载 https://files.cnblogs.com/babyt/SignTool.rar
这段时间做了一个B/S下套打的控件(过几天整理一下放到博客上来),控件测试完成,但是因为没有数字证书,IE如果不设置信任区域和等级的话,会直接被阻止下载安装(我不期望客户能熟练地改IE设置),但是数字证书价格昂贵,暂不考虑,看到cnblogs上一篇文章后深受启发,照着搞了一个测试用的数字签名,但是这篇文章上的OS貌似是win 2000,IE5,我有必要在win7下给大家做个演示:
背景需求 对于摄像机直播,客户反馈的最多就是实现web直播、摆脱插件,可以自定义集成等问题,对于大家熟悉的EasyNVR已经完美的解决了这些问题。然而对于web播放也存在一些问题,通常我们web播放RTMP流使用的是flash,在这个过程中就会出现一个问题,随着web一直播放直播时间的增加,视频直播的延时也会累积起来,延时也就越大。
今天又收到了一个开发者的反馈,也是比较有代表性的,刚好拿出来跟大家分享一下。具体需求是这样的:有用户在使用EasyDSS产品时,想要集成播放器在业务系统中,需要整合ie active x控件播放RTMP直播流,同时需要兼容IE8浏览器。
MSComm 作为一个串行通讯控件,每个 MSComm 控件,都对应一个串口,若需访问多个串口时必须使用多个 MSComm 控件。
ActiveX控件是可以在应用程序和网络中计算机上重复使用的程序对象。创建它的主要技术是Microsoft的ActiveX技术,其中主要是组件对象模型(COM)。
今天实际应用时,又进行了一些测试,发现与以前看到资料中一些不同的表现,见最后的【补充】部分
社群的强哥最近在研究RFID,用winsock来接收RFID的数据,发现了百思不得奇解的问题,说为么VFP接到的数据怎么地就变化了,看看 EE就变成了3F了。
Windows 上也有很多优秀的工具软件是 Mac 上没有的, 装虚拟机的话太浪费, 而且效率不高, 幸好可以通过 Wine 来运行 Windows 程序, 通过 HomeBrew 使得 Wine 的安装非常容易, 通过 WineTricks 来配置 Wine 也没有多大困难, 下面是我在 Mac 上安装和配置 Wine 的纪录。
AC Report 的历史、功能简介,在本文所附的《Anycell Report应用开发手册》中有详细的介绍,这里需要重复说明的一点:在AC Report 的诸多版本中,从 2.1 版开始,该报表工具由一个 ActiveX 控件,经重新规划和改进,以 COM + ActiveX 方式予以提供。
这二天用c#开发ActiveX时,发现不管怎么弄,c#就是没办法生成ocx的纯正activeX控件,而且还要强迫用户安装巨大的.net framework(我只是想做一个简单截屏功能的activeX整合到silverlight聊天室中),于是想起了曾经用过一年的delphi,虽然时过境迁,现在早以是.net的天下,但是不可否认,delphi仍是win32原生程序最佳的开发工具之一。 关于Delphi的语法学习,可以参见这个chm文档,基本上一天就能看完 http://d.namipan.com/d/d02
Virbox Protector Standalone 加壳工具可直接对dll文件进行加壳,防止代码反编译,更安全,更方便。
介绍: 如今在许多流媒体视频网站(youku,tudou......)我们都会发现,观看视频之前都会有一段时间的广告,甚至在观看视频途中也会插入一些 广告。实现这个效果的可以有多种技术。使用Javascript就可以实现,只需要在同一个位置分别创建两个Object,一个嵌入Flash插件,一个 嵌入 WMP插件,然后切换显示这两个控件即可。 使用COM/Activex技术也可以在同一个控件中实现这样的功能。 插件功能描述: 上周在某个公司碰到这么一个问题,它们需要创建一个插件,内部嵌入一个Flash插件和Windows Media Player插件。然后写一个Web测试页面测试此Activex页面。页面上有三个输入框和一个按钮(Play)。第一个输入框输入falsh URL(.swf),第二个输入框输入.swf播放时间长度(秒),即视频广告时间,第三个输入框输入.wmv URL。点击Play按钮后,页面按钮将三个参数传递给控件,控件优先播放.swf,要布满整个控件的大小。.swf播放指定的时间之后,然后播 放.wmv,wmv也要布满整个控件。
首先,虽然本文是介绍IE浏览器下OCX控件播放RTSP或RTMP,但这种方式并不推荐,毕竟它只能用于IE浏览器环境下,局限太大,而且随着微软IE浏览器的更新,不确定后续支持情况。当然,话说回来,如果是在特定的使用场景下,只需要某些版本IE浏览器支持,但对延迟和稳定性要求非常高,OCX控件方式也不失为一个好的选择。
好多开发者一直苦恼于如何在IE浏览器环境下,构建低延迟的RTSP或RTMP播放,对于RTSP流来说,好多公司通常的做法是把RTSP转RTMP,然后分发到RTMP服务器,然后服务器转http-flv出来,浏览器直接播放http-flv流,亦或通过flash控件直接播放RTMP流,还有就是,转hls流出来,缺点是hls流延迟更大。
(以西门子路由器M874-3为例,其支持联通的3G 卡,以及移动和联通的2G 卡。据悉此硬件不支持中文短信,所以若需中文,那就考虑第三方硬件,方法类似。)
1、新增 orphanWindow 功能,用于支持控件透明悬浮或显示在父窗口外部。 2、标准库中增加 win.flashBox 组件,用于支持flash桌面透明、或者flash窗口在父窗体上透明悬浮显示。 在传统窗体中,要让一个控件完美透明,并且完美浮动在其他控件前面,是一件比较麻烦的事。 例如 plus 控件也有一些限制,使用剪切背景等方法修正透明带来的闪烁,但是你不能把plus控件浮动在一个按钮前面且显示透明动画。 一个窗体的子窗口总是显示在父窗口的内部,例如你在网页上看到flash是透明的,但是fl
客户端:Labware软件,部分C/S功能 Web服务:Apache Tomcat等,部分B/S功能 后台服务:计划、调度程序,环境监控样、稳定性研究等 数据库驱动:ODBC 报表工具:水晶报表 共享资源:报表文件等
总是被问到,如何学习C和C++才不茫然,才不是乱学,想了一下,这里给出一个总的回复。 一家之言,欢迎拍砖哈。 1、可以考虑先学习C. 大多数时候,我们学习语言的目的,不是为了成为一个语言专家,而是希望成为一个解决问题的专家。做一个有用的程序员,做一个赚钱的程序员。我们的价值,将体现在客户价值上,而不是语言写得好不好看。 C++是C的一个面向对象的解释,C++为C扩充了大规模工程应用,复杂的系统结构的组织和掌控方法,但是,我认为,C++骨子里还是C的。 毕竟,解决具体问题,每个函数内部,都是用C的方式写程序,还是面向过程的。 因此,想要学习好C++,我的建议,先学习C,先学解决问题的能力,再讨论解决大问题的能力。就是先学习怎么走路,再学习怎么跑步。 2、学习C的过程中,一定要理解结构化编程思维。 为什么呢,我前面有文章说过,软件语言的发展过程,就是一个数据私有化的过程,大型工程应用,强调高内聚,低耦合,模块化设计,保持代码最大的灵活性和安全性。 这是现代工程化开发的核心和灵魂。 因此,利用C这门语言入门,借此理解结构化开发思维,可以说是个很方便的路子。因为C的函数,本来就是为重用做准备的。同时,全局变量和cpp内部私有变量的差别,其使用原则,这些都能学到很多结构化开发思维。 3、开始学习C++ C++不难学的,很多人觉得C++难学,其实是因为它在C之外,又提供了很多的概念,尤其是对象,很难以理解。 不过我经过这么多年,把这个问题反而看淡了,我认为面向对象相对面向过程,仅仅是结构化程序设计的一个具体体现,是编译器提供手段,强迫程序员必须遵循数据私有化的一个实例,C++和C的关系,最核心的莫过于此。 现在我们回到C再看看,如果我们把一个全局变量,写到一个cpp里面,并且在对应的h文件中不声明,它是不是就只有这个模块可以使用?它是不是就是私有变量,以这个理解,类能明白了吗? 4、学习C++的深入技巧 C++在类的基础上,经过这么多年的发展,其实提供了很多深入的概念,看起来很复杂,其实我看也很简单。比如模板,我的理解就是“类的类”,大家说是不是? 既然模板理解了,STL,ATL这些,静态模板库,动态模板库,还难理解吗?就是一大堆类的类,可以借此实现很多应用中需要的类,不需要程序员再自己写而已。 ok,STL都理解了,泛型开发还难吗?所谓泛型开发,其实就是我做一个模板,来定义一套算法规则,但是呢,我希望这个算法规则,能进一步抽象,对核心数据类型不要限死,我把各种数据套进去,都可以用,这样,仅算法这部分,我不需要重写了。你想想是不是这个道理? 学到这里,C++和C,其实已经差不多了。再学语言,就是求全责备,过于钻牛角尖了。 5、学习应用开发 前面说了,学习语言,目的不是让别人认为自己是专家,是为了写程序赚钱。因此,语言学完,要学习应用开发。 什么叫应用开发呢,我会一门语言,但是,客户不懂,客户说的很直接,在Windows下给我写个程序,我要什么什么功能。为啥Windows呢?因为我习惯。 OK,很多时候,应用开发要尊重客户习惯,一般说来,语言这个东东,还是要结合具体平台的开发,才能开发出有意义的应用程序卖钱。那么,一般说来,客户端是Windows系统,服务器是Linux,这些都是行业习惯,嵌入式不好说,各种平台都有,Palm,S60,Linux,WinCE,等等。要根据自己的目标客户来定。 当我们选定目标平台后,有一个问题,选什么语言,很多时候,学生和商用程序员差别就在这里,学生一般没得选,自己会啥就用啥呗,企业里的程序员不会,要先评估需求,看哪个语言更合适,不会的语言,要去学。 ok,假定我们选了C和C++,那么,我们需要选择开发平台,Windows下不用说了,VC,这是最好用的,Linux下呢,gcc,其他的也差不多。 假如我们开发VC,并且使用C++,这个时候,才需要考虑学习MFC了,因为这是微软的标准类库,至少Windows平台下,它最权威,你看见没有,我们从学习开始,走了多少步,才走到MFC?是不是MFC不是学习C++上来就必须学的? 6、学习MFC 学习MFC,很多人一上来就开始看其体系架构,看得一头雾水,那个模块关系依赖图,我到现在都看不懂。 呵呵,其实不是啦,和学语言一样,我们学MFC的目的,也不是希望成为MFC的专家,而是要利用MFC开发Windows应用程序,为我们赚钱。看见没?MFC是手段,不是目的,目的是开发Windows程序。 其实Windows下,有一套很标准的C接口,叫Win32API,这个才是Windows的标准编程核心,因此,学习MFC,真实的目的是理解Windows程序开发,建议可以先学习Win32API,看来我们又回到C了哈,呵呵。刚开始学C有用吧? 7、Win32API
A. 在WinCC图形编辑器中选择“对象选项板”的“控件”选项卡,选择“添加/删除”,在“选择OCX控件”对话框中选择“Microsoft Communications Control”进行注册。然后在WinCC画面中添加MSComm 控件;
随着智能手机的普及,手机不断实现质的飞跃,你家里还能找到那台N年前风靡全国的大哥大和诺基亚吗?相信很多人家里都还有。后来智能手机的发展直接打破原有的平衡,直接让非智能机快速步入老人机行列。时间过的如此之快,科技发展的如此之快。这些年着实火了一把的苹果手机,是乔布斯带给世界的惊喜。更新换代之快,大家有目共睹。
总是被同学们问到,如何学习C和C++才不茫然,才不是乱学,想了一下,这里给出一个总的回复。 一家之言,欢迎拍砖哈。 1、可以考虑先学习C. 大多数时候,我们学习语言的目的,不是为了成为一个语言专家,而是希望成为一个解决问题的专家。做一个有用的程序员,做一个赚钱的程序员。我们的价值,将体现在客户价值上,而不是语言写得好不好看。 C++是C的一个面向对象的解释,C++为C扩充了大规模工程应用,复杂的系统结构的组织和掌控方法,但是,我认为,C++骨子里还是C的。 因此,想要学习好C++,我的建议,先学习C,先
7-ZIP v.16 和可能使用 HTML 帮助系统的其他软件容易出现远程 DLL 劫持问题,从而导致任意代码执行。附上 PoC。
<OBJECT id=TANGER_OCX codeBase=”http://www.ntko.com/control/officecontrol/OfficeControl.cab#Version=5.0.2.5″ classid=clsid:A39F1330-3322-4a1d-9BF0-0BA2BB90E970 width=”100%” height=”100%”><PARAM NAME=”_ExtentX” VALUE=”19923″><PARAM NAME=”_ExtentY” VALUE=”12700″><PARAM NAME=”BorderColor” VALUE=”14402205″><PARAM NAME=”BackColor” VALUE=”-2147483643″><PARAM NAME=”ForeColor” VALUE=”-2147483640″><PARAM NAME=”TitlebarColor” VALUE=”42768″><PARAM NAME=”TitlebarTextColor” VALUE=”0″><PARAM NAME=”BorderStyle” VALUE=”1″><PARAM NAME=”Titlebar” VALUE=”0″><PARAM NAME=”Toolbars” VALUE=”0″><PARAM NAME=”Caption” VALUE=”欢迎使用!”><PARAM NAME=”IsShowToolMenu” VALUE=”1″><PARAM NAME=”IsNoCopy” VALUE=”0″><PARAM NAME=”IsHiddenOpenURL” VALUE=”0″><PARAM NAME=”MaxUploadSize” VALUE=”0″><PARAM NAME=”NetworkBufferSize” VALUE=”0″><PARAM NAME=”Menubar” VALUE=”1″><PARAM NAME=”Statusbar” VALUE=”1″><PARAM NAME=”FileNew” VALUE=”-1″><PARAM NAME=”FileOpen” VALUE=”-1″><PARAM NAME=”FileClose” VALUE=”-1″><PARAM NAME=”FileSave” VALUE=”-1″><PARAM NAME=”FileSaveAs” VALUE=”-1″><PARAM NAME=”FilePrint” VALUE=”-1″><PARAM NAME=”FilePrintPreview” VALUE=”-1″><PARAM NAME=”FilePageSetup” VALUE=”-1″><PARAM NAME=”FileProperties” VALUE=”-1″><PARAM NAME=”IsStrictNoCopy” VALUE=”0″><PARAM NAME=”IsUseUTF8URL” VALUE=”1″><PARAM NAME=”MenubarColor” VALUE=”14402205″><PARAM NAME=”IsUseControlAgent” VALUE=”0″><PARAM NAME=”IsUseUTF8Data” VALUE=”0″><PARAM NAME=”IsSaveDocExtention” VALUE=”0″><PARAM NAME=”IsDirectConnect” VALUE=”0″><PARAM NAME=”SignCursorType” VALUE=”0″><PARAM NAME=”IsResetToolbarsOnOpen” VALUE=”0″><PARAM NAME=”IsSaveDataIfHasVDS” VALUE=”0″><PARAM NAME=”MenuButtonStyle” VALUE=”7″><PARAM NAME=”MenuButtonColor” VALUE=”16180947″><PARAM NAME=”MenuButtonFrameColor” VALUE=”14924434″><PARAM NAME=”MenuBarStyle” VALUE=”3″><PARAM NAME=”IsGetPicOnlyOnHandSign” VALUE=”0″><PARAM NAME=”IsSecurityOptionsOpen” VALUE=”0″><PARAM NAME=”IsShowHelpMenu” VALUE=”0″><PARAM NAME=”IsShowInsertMenu” VALUE=”1″><PARAM NAME=”IsAutoDetectWebCharSet” VALUE=”0″><PARAM NAME=”WebCodePage” VALUE=”936″><PA
领取专属 10元无门槛券
手把手带您无忧上云