您的位置:首页 > 其它

通过WebBrowser控件,实现IE浏览器菜单功能

2015-05-05 00:24 411 查看
这篇文章所讲的技术,只支持IE浏览器,请读者注意

WebBrowser控件,是IE浏览器的内置控件。顾名思义,这个控件我们可以看成是浏览器本身。通过WebBrowser控件,可以实现一部分IE浏览器的菜单命令。

1. 使用

首先在画面上要通过<object>标签创建这个控件。

<OBJECT classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 id=WebBrowser width=0></OBJECT>


2. 调用方法

WebBrowser.ExecWB nCmdID, nCmdExecOpt, [pvaIn], [pvaOut]

通过这个控件的ExecWB方法,执行命令。例如,菜单的打开功能:

document.all.WebBrowser.ExecWB(1,1);


3. 方法的参数

3.1 nCmdID 参数(这些参数可以通过变量名知道对应菜单上的功能,这里不再逐个描述)

OLECMDID_OPEN = 1
OLECMDID_NEW = 2
OLECMDID_SAVE = 3
OLECMDID_SAVEAS = 4
OLECMDID_SAVECOPYAS = 5
OLECMDID_PRINT = 6
OLECMDID_PRINTPREVIEW = 7
OLECMDID_PAGESETUP = 8
OLECMDID_SPELL = 9
OLECMDID_PROPERTIES = 10
OLECMDID_CUT = 11
OLECMDID_COPY = 12
OLECMDID_PASTE = 13
OLECMDID_PASTESPECIAL = 14
OLECMDID_UNDO = 15
OLECMDID_REDO = 16
OLECMDID_selectALL = 17
OLECMDID_CLEARselectION = 18
OLECMDID_ZOOM = 19
OLECMDID_GETZOOMRANGE = 20
OLECMDID_updateCOMMANDS = 21
OLECMDID_REFRESH = 22
OLECMDID_STOP = 23
OLECMDID_HIDETOOLBARS = 24
OLECMDID_SETPROGRESSMAX = 25
OLECMDID_SETPROGRESSPOS = 26
OLECMDID_SETPROGRESSTEXT = 27
OLECMDID_SETTITLE = 28
OLECMDID_SETDOWNLOADSTATE = 29
OLECMDID_STOPDOWNLOAD = 30


3.2 nCmdExecOpt 参数(不知道如何的话,第二个参数使用1)

OLECMDEXECOPT_DODEFAULT = 0,
OLECMDEXECOPT_PROMPTUSER = 1,
LECMDEXECOPT_DONTPROMPTUSER = 2,
OLECMDEXECOPT_SHOWHELP = 3


3.3 常用参数

WebBrowser.ExecWB(1,1)  //打开
WebBrowser.ExecWB(2,1)  //关闭现在所有的IE窗口,并打开一个新窗口
WebBrowser.ExecWB(4,1)  //保存网页
WebBrowser.ExecWB(6,1)  //打印
WebBrowser.ExecWB(7,1)  //打印预览
WebBrowser.ExecWB(8,1)  //打印页面设置
WebBrowser.ExecWB(10,1) //查看页面属性
WebBrowser.ExecWB(15,1) //好像是撤销,有待确认
WebBrowser.ExecWB(17,1) //全选
WebBrowser.ExecWB(22,1) //刷新
WebBrowser.ExecWB(45,1) //关闭窗体无提示


4. 测试页面

<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="utf-8" />
<meta name="author" content="Densin.Tian@CisternData" />
<title>WebBrowser Test</title>
</head>
<body>
This is a WebBrowser Test.<br/>
<OBJECT classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 id=WebBrowser width=0></OBJECT>
<input name="btn1" onClick="document.all.WebBrowser.ExecWB(1,1) " type="button" value="打开">
<input name="btn2" onClick="document.all.WebBrowser.ExecWB(2,1) " type="button" value="关闭所有">
<input name="btn3" onClick="document.all.WebBrowser.ExecWB(4,1) " type="button" value="另存为">
<input name="btn4" onClick="document.all.WebBrowser.ExecWB(6,1) " type="button" value="打印">
<input name="btn5" onClick="document.all.WebBrowser.ExecWB(6,6) " type="button" value="直接打印">
<input name="btn6" onClick="document.all.WebBrowser.ExecWB(7,1) " type="button" value="打印预览">
<input name="btn7" onClick="document.all.WebBrowser.ExecWB(8,1) " type="button" value="页面设置">
<input name="btn8" onClick="document.all.WebBrowser.ExecWB(10,1)" type="button" value="属性">
<input name="btn9" onClick="document.all.WebBrowser.ExecWB(17,1)" type="button" value="全选">
<input name="btna" onClick="document.all.WebBrowser.ExecWB(22,1)" type="button" value="刷新">
<input name="btnb" onClick="document.all.WebBrowser.ExecWB(45,1)" type="button" value="关闭">
</body>
</html>


画面测试



5. 关于安全性

WebBrowser控件虽然是IE内置的控件,但是因为它可能会直接操作客户端打印机等操作,并不是默认启用的,在安全性为默认的情况下。只有将使用该控件的站点设置为【信任】,该控件才可以使用。下图在非信任的情况下,控件被阻止的画面。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐