总结一下在网页中嵌入ocx的步骤:
1. 通过vc 6.0 向导生成一个ocx,定名为: test.ocx
2. 创建一个inf文件,定名为: test.inf
[version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Add.Code]
test.ocx=test.ocx
[test.ocx]
file-win32-x86=thiscab
clsid={47E53FC7-03AB-4C3C-A61B-468134A72E71}
FileVersion=2,3,0,6
RegisterServer=yes
3. 定义一个批处理文件:test.bat ,定义批处理文件,主要是因为在完善这个ocx的时候,可能要经常进行修改,通过写这个批处理,可能很 快生成cab,你也可以在命令行中直接输入这个命令行.
cabarc -s 6144 n test.cab test.ocx test.inf
4. 创建一个网页MyWeb.htm
<HTML>
<HEAD>
<TITLE>My Web</TITLE>
</HEAD>
<BODY>
<OBJECT ID="test" CLASSID="CLSID:47E53FC7-03AB-4C3C-A61B-468134A72E71" WIDTH="1024" HEIGHT="768" HSPACE=0
VSPACE=0 codebase=/MyWeb/test.cab#version=1,2,2,9>
</OBJECT>
</BODY>
</HTML>
5. 在D盘下创建一个目录: MyWeb,把test.cab和test.htm方在这个目录中
6. 配置iis,可以在ie中访问这个空间.
在控制面板/管理工具/Internet 信息服务,双击进入,在网站/默认网站/ 上右键点击,选择新建/虚拟目录,目标文件夹指向: D/MyWeb
(假设本机ip: 192.168.1.112)
7: 在本机ie中输入: http://localhost/MyWeb/MyWeb.htm 就可以看到在这个ie页面看到了一个椭圆.在其他的机器上输入:
http://192.168.1.112/MyWeb/MyWeb.htm,也可以在ie中看到一个椭圆.
注意:
1.这个ocx最好编译为静态库,因为其他机器上不会安装vc,否则,可能要把mfc中的其他库在第三步打包到cab中,
在vc的开发环境:Project/Setting/General 中: 在Microsoft Foundation Classes中选择: Use MFC in a Static Library
2. 在 ie的 工具/internet 选项/安全页面中设置安全级别,允许能够运行未签名的ocx
3. 在系统目录下C:/WINDOWS/Downloaded Program Files ,可以看到从网也种下载的ocx.
4. 在创建iis服务的时候 ,有可能默认网站不能启动,这个时候,可以把http的默认端口80改为另外的一个端口试试,我就碰到过这样的问题。
5. IIS路径:C:/WINNT/system32/inetsrv/inetmgr.exe
或者直接在运行里输入inetmgr.exe就可以启动IIS了
6. 可以通过查看IE临时文件夹下的控件安装日志文件,来检测控件是否正常安装,路径在
C:/Documents and Settings/Admin/Local Settings/Temporary Internet Files,Admin是登录主机的用户名称,Local Settings 是一个隐藏的文件夹。
7. 可是使用vc 自带的 dependence去查看控件所关联的动态库.