WebBrowser组件和MSHTML 在Delphi中的使用
来源:互联网 发布:单点登录软件 编辑:程序博客网 时间:2024/04/29 23:47
由于项目需要,近来研究了一下WebBrowser组件和MSHTML 在Delphi中的使用,整理了一下这段时间研究的结果,写下来一是方便大家查阅,二也可以加深我自己的记忆.希望能对大家有所帮助… …,同时,如果有更好的处理方式或者我没有提到的问题,请大家也告诉我哦, 咱们一块进步… ...,其中一部分是我从网络中搜集的资料,谢谢那些兄弟们… …
MSHTML把HTML页面中的元素封装成了IHTMLInputElement、 IHTMLInputButtonElement、IHTMLInputTextElement、IHTMLTextAreaElement、IHTMLTitleElement、IHTMLFormElement等等组件接口。
在程序中可以通过MSHTML提供的IHTMLDocument2接口得到整个Document对象,IHTMLElementCollection接口得到所有页面元素的集合,通过该接口的Item方法可以得到具体的某个组件,然后设置和读取该组件的属性值。
下面是一些常用功能的事例代码.
1. 打开某个页面:
2. 取出页面中某个HtmlElement的Value属性值:
3. 给HtmlElement设置Value属性
4. 判断页面执行结果是否成功
因为Web应用中如果出错的一般是采用错误页面的方式呈现给最终用户,所以我们也无法抓到Http错误,只能通过在webBeforeNavigate2事件中将URL参数记录到全局变量中, 然后在webDocumentComplete事件中根据URL参数和全局变量中的URL参数来判断执行结果是否正确.当然,这样需要将页面地址编码到代码中,降低了灵活性,但是这也是我能想到的唯一的方法,如果大家有什么好的方法,请告诉我哦.
5. 屏蔽鼠标右键和某些快捷键
本功能需要在webBrowser的窗口中加入ApplicationEvents组件,设置它的OnMessage事件代码如下即可.
6. 在页面关闭的时候,同时关掉包含页面的VCL Form
同样使用ApplicationEvents组件,截取webbrower的wm_close消息
7. 如何将页面中超链接新开的页面窗口包到指定的VCL窗口中.
8. 在WebBrowser加载html页面完成后,在页面顶端插入HTML代码, 下面两种方式斗可以.
{1. ----------------------------------------------------------------}
{2. ----------------------------------------------------------------}
9. 将页面中显示的内容全部选中,然后粘贴到Word文档中.
WebBrowser1.ExecWB(OLECMDID_SELECTALL, OLECMDEXECOPT_DODEFAULT);//全选网页
WebBrowser1.ExecWB(OLECMDID_COPY, OLECMDEXECOPT_DODEFAULT); //复制网页
WordDocu.Range.Paste; //word文档粘贴
WebBrowser1.ExecWB(OLECMDID_UNDO, OLECMDEXECOPT_DODEFAULT); //取消全选
注:WebBrowser的Document属性值和WordDocument的Document属性值必须都不为nil.
10. 如何解决网页不响应回车事件
11. 如何在WebBrowser中调用当前页面中的javascript函数SayHello()
- WebBrowser组件和MSHTML 在Delphi中的使用
- WebBrowser组件和MSHTML 在Delphi中的使用
- WebBrowser组件和MSHTML 在Delphi中的使用
- WebBrowser组件和MSHTML 在Delphi中的使用
- WebBrowser组件和MSHTML 在Delphi中的使用
- WebBrowser组件和MSHTML 在Delphi中的使用
- WebBrowser组件和MSHTML 在Delphi中的使用
- Delphi : WebBrowser、MSHTML在Delphi中的使用
- WebBrowser、MSHTML在Delphi中的使用
- WebBrowser、MSHTML在Delphi中的使用
- WebBrowser、MSHTML在Delphi中的使用
- WebBrowser、MSHTML在Delphi中的使用
- WebBrowser组件和MSHTML 在Delphi中的使用---转自 http://www.hackpig.cn/post/294.html
- [delphi组件] Webbrowser的使用
- 使用WebBrowser引用MsHtml单元
- mshtml在.net中的使用问题
- 在Delphi中使用IDispatch访问MSHTML的一些经验
- Delphi for iOS开发指南(7):在iOS应用程序中使用WebBrowser组件
- VC 环境变量
- 修改redmine默认页面
- 中国功夫神话
- 按钮文字选中与点击变动色
- 连接vm client报错 KB980773
- WebBrowser组件和MSHTML 在Delphi中的使用
- 这些道理不懂,你注定就是穷打工的命
- sqlSERVER2005的over用法
- 远程桌面连接出现"由于网络错误,连接被中断,请重新连接到远程计算机"错误的解决方法
- android初始化部分:how to java2Cpp
- 搜索引擎的基本原理(以及MetaSeeker搜索引擎)
- 利用SendMessage 发送消息到当前机子的另一个程序
- android手机归属
- Linux 强制安装rpm 包