一、环境介绍
操作系统: win10 64位
QT版本: 5.12.6
Visual Studio IDE 版本: 2017
二、ActiveX控件介绍
ActiveX控件是Microsoft的ActiveX技术的一部分。
ActiveX控件是可以在应用程序和网络中计算机上重复使用的程序对象。创建它的主要技术是Microsoft的ActiveX技术,其中主要是组件对象模型(COM)。
ActiveX控件可以以小程序下载装入网页,也可以用在一般的Windows和Macintosh应用程序环境中。一般说来,ActiveX 控件代替了原先的OCX,它与JAVAapplet的概念和功能差不多。ActiveX控件可以由不同的可以识别Microsoft的COM技术的语言开发,它是一个组件或自包含的软件包,它可以在同一个或分布式的计算环境中开发或使用。
ActiveX控件运行有两种形式:
(1) 可独立运行的exe形式: 参考这里 https://blog.csdn.net/xiaolong1126626497/article/details/112550412
(2) 插件dll形式
本篇文章讲的就是插件dll形式.
QT的帮助文档里有对ActiveX使用的详细介绍:
三、搭建开发环境
QT程序生成ActiveX插件需要使用MSVC编译器。
VS2017与QT5.12.6环境搭建可以参考这里: https://blog.csdn.net/xiaolong1126626497/article/details/112402861
四、新建工程
打开Visual Studio 2017 创建一个简单的测试工程。
在 Visual Studio 里创建工程,选择activex服务,工程模块会自动加上设置代码。
五、发布DLL并运行测试
程序编译成功之后,接下来进入到DLL生成的目录下,为xxx.dll寻找依赖库。
修改COM组件、寻找依赖库的过程中360之类的安全软件会拦截,为了方便不出问题,可以提前把这些软件关闭再操作。
接下来在DLL动态库的目录下,创建一个Xxx.html文件,写入调用代码,测试效果。
<html> <head> <title>ActiveQtServer_dll_test</title> </head> <body> <object id="ActiveQtServer_dll_test" width="80%" height="80%" classid="clsid:174e1245-0916-4638-9802-b5a0cc3ca26c"> </object> </body> </html>
HTML文件一定要放在与DLL的同级目录下,然后点击HTML文件选择使用IE浏览器打开。