QT编写ocx插件,并发布到iis

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/lwwl12/article/details/80665342

准备工作

  • vs2013,并安装好qt
  • iis

编写ocx插件程序

1. 创建Qt ActiveQt Server程序(QtOcxTest)

这里写图片描述

2. 打开ui文件,拖入一个QPushButton控件

双击ui文件会自动通过Qt Designer打开
这里写图片描述

3. 生成dll

这里写图片描述

引入Qt依赖库
这里写图片描述

结果如下图:
这里写图片描述

注册regsvr32

在需要打开web网页的电脑上注册QtOcxTest.dll,同目录下必须包含上图内所有dll及文件夹。

生成cap包

1. 编写inf文件

参考:OCX控件打包成CAB并实现数字签名过程

[Version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Add.Code]
QtOcxTest.dll=QtOcxTest.dll
[QtOcxTest.dll]
file-win32-x86=thiscab
RegisterServer=yes
clsid={f8050c1d-c960-4df0-a990-41c591a5504c}
DestDir=11
FileVersion=1,0,0,0

clsid:
这里写图片描述

2. 使用iexpress生成cab文件

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

8.3 格式:名称不超过8个字母,后缀不超过3个字母

这里写图片描述

然后一直下一步就ok了!

这里写图片描述

发布到iis

将cab拷贝至自己创建的一个发布在iis上的web内,然后创建一个html页面嵌入cab。
我这里使用iis默认的web程序:
这里写图片描述

将文件拷入web所在文件夹内:
这里写图片描述

ocx.html

   <HTML>
       <HEAD>
           <TITLE>My Web</TITLE> 
       </HEAD>
       <BODY>
           <OBJECT ID="test" CLASSID="CLSID:f8050c1d-c960-4df0-a990-41c591a5504c" 
               WIDTH="1024" HEIGHT="768" HSPACE=0 VSPACE=0 codebase=/ocxtest.cab#version=1,0,0,0>
           </OBJECT>
       </BODY>
   </HTML>

这就ok了,尝试用IE浏览器打开(打开失败,IE设置导致的)

这里写图片描述

IE浏览器设置

修改IE浏览器的安全设置(2个地方需要设置)
(1)
这里写图片描述

(2)
这里写图片描述

再打开网页:
这里写图片描述
这里写图片描述
成功!

猜你喜欢

转载自blog.csdn.net/lwwl12/article/details/80665342
今日推荐