这几天写的程序中要用到这方面的东西,写了个很简单的例子.
-
-
#include<atlbase.h>
-
#include"atlconv.h"
-
#include"Mshtml.h"
-
-
-
intCErrKbaseDHtmlView::RefreshPage(MM_FAULTKBASE&refKBaseInfo)
- {
- USES_CONVERSION;
- CComPtr<IHTMLDocument2>pDoc;
- CComPtr<IDispatch>spDisp;
- spDisp=GetHtmlDocument();
- CStringstrHtml="<html><head><title>kcmm_errkbase</title>/
-
<styletype='text/css'><!--/
- body,td,th{font-size:12px;color:#990000;}.style5{color:#000099}/
- --></style></head>/
-
<body><tablewidth='732'height='490'border='1'bordercolor='#999999'bgcolor='#FFFFFF'>/
-
<tr><tdwidth='73'height='28'><spanclass='style5'>故障名称:</td><tdwidth='643'>";
- strHtml+=refKBaseInfo.strFaultName;
-
strHtml+="</td></tr><tr><tdheight='27'><spanclass='style5'>故障类型:</td><td>";
- strHtml+=refKBaseInfo.strFaultType;
-
strHtml+="</td></tr><tr><tdheight='31'><spanclass='style5'>故障级别:</td><td>严重级</td></tr>/
-
<tr><tdheight='31'><spanclass='style5'>影响范围:</td><td>";
- strHtml+=refKBaseInfo.strFaultIncidence;
-
strHtml+="</td></tr><tr><tdheight='62'><spanclass='style5'>故障来源:</td><td>1.运行复杂业务查询;2.病毒</td></tr>/
-
<tr><tdheight='68'><spanclass='style5'>产生原因:</td><td>";
- strHtml+=refKBaseInfo.strFaultReason;
-
strHtml+="</td></tr><tr><tdheight='68'><spanclass='style5'>处理流程:</td><td>关机->重启</td></tr>/
-
<tr><tdheight='80'><spanclass='style5'>处理方法:</td><td>";
- strHtml+=refKBaseInfo.strHandleMethod;
-
strHtml+="</td></tr><tr><tdheight='73'><spanclass='style5'>备注信息:</td><td>略</td></tr>/
-
</table><marqueedirection='up'align='middle'scrolldelay='120'>此知识库仅提供参考信息,并非是最全威信息<br>/
- 如有其他问题,请联系金证工程师<br>联系方式:dyx1024@gmail.com</marquee></body></html>";
- CRectrc;
- GetClientRect(&rc);
- CStringstrIn;
- strIn=strHtml;
- CComQIPtr<IPersistStreamInit>spPersistStream(spDisp);
-
if(spPersistStream==NULL)
-
return0;
-
LPTSTRlpMem=(LPTSTR)::GlobalAlloc(GPTR,strIn.GetLength()+1);
- lstrcpy(lpMem,strIn.GetBuffer(strIn.GetLength()));
- CComPtr<IStream>spStream;
- CreateStreamOnHGlobal(lpMem,TRUE,&spStream);
-
- spPersistStream->InitNew();
- spPersistStream->Load(spStream);
-
return0;
- }
-
-
-
BOOLCErrKbaseDHtmlView::PreTranslateMessage(MSG*pMsg)
- {
-
if(!m_bDisplay)
- {
-
switch(pMsg->message)
- {
-
caseWM_CONTEXTMENU:
-
caseWM_RBUTTONUP:
-
caseWM_RBUTTONDOWN:
-
caseWM_RBUTTONDBLCLK:
-
if(IsWindow(pMsg->hwnd))
- {
-
if(pMsg->wParam==WM_RBUTTONUP)
- {
- GetParent()->SendMessage(WM_CONTEXTMENU,pMsg->wParam,pMsg->lParam);
- }
-
returnTRUE;
- }
- }
- }
-
returnCHtmlView::PreTranslateMessage(pMsg);
- }
分享到:
相关推荐
通过窗口句柄获得IWebBrowser2和IHTMLDocument2接口,里面是源代码,分享给大家
IHTMLDocument2问题代码
C#获得IHTMLDocument2并且创建链接的单击事件
之前为这个头疼好久... 没办法获取showModalDialog对话框中网页的内容... ...然后传入IHTMLDocument2对象的引用。源代码在此供大家参考 环境:VC++ 2008 注: GCC不可编译。原因:mshtml.h文件编译错误
用WPF写的一个小程序,以网易Yeah邮箱为例,利用IHTMLDocument2类实现用户名和密码自动提交以登陆邮箱。 注:需要引用引入Microsoft.mshtml.dll链接库 地址是C:\Program Files\Microsoft.NET\Primary Interop ...
本程序演示如何通过窗口句柄取webbrowser控件的IHtmlDocument2接口
1、获取IWebBrowser(ActiveX 插件) 初始化对象接口 2、根据1中的初始化接口, 获取组件的 IID_IHTMLDocument2 对象 接口
IHTMLDocument3HookSrc.rar IHTMLDocument3HookSrc.rar IHTMLDocument3HookSrc.rar
通过IHTMLDOCUMENT2接口,对网页中表单进行自动填写..
Python操作IHTMLDocument2用于自动化测试软件测试有些软件的界面采用Win32窗口嵌套一个IE控件,用Spy++只能识别出一个InternetExplorer_Server控件。常用的几个API函数无法取到IE控件里面的内容,更无法对里面的控件...
C#_WebBrowser_网页操作 1.获取frame的源文件 ...3.获取frame的IHTMLDocument2接口 4.取得frame中被点击的连接 C# 通过webBrowser 框架网页 C#:webBrowser1控件通过TagName,Name查找元素(没有ID时)
DOM开发,用VC6获取网页WEBBROWSER2,IHTMLDOCUMENT元素
在IE8与IE6的编程方法不一样,在网上找了很长时间,都找不到IE8怎么编程,在IE8中,如果用IE6的方法得到的IHtmlDocument是无效的,不能操作,得使用另一种方法来编程,请看例子吧,例子为本人在工作中总结出来的,像IE8中的...
mshtml.IHTMLDocument2 ieDoc = (mshtml.IHTMLDocument2)objIE.Document; foreach (mshtml.IHTMLElement ieElement in ieDoc.all) { //if its tag is input and name is q(question) if (ieElement.tagName...
Doc:=wb1.Document as IHTMLDocument2; //wb1.OleObject.document.getElementsByTagName('input').item(7).click; group:=(Doc.all.item('dict_main',varEmpty) as IHTMLElement2).getElementsByTagName('div');
去除控件边框((WebBrowser1.Document as IHTMLDocument2).body as HTMLBody).scroll := 'no'; (WebBrowser1.Document as IHTMLDocument2).body.style.border := '0';
首先是用IHTMLDocument2的get_links,来获取IHTMLElementCollection接口,再通过IHTMLElementCollection来获取IHTMLAnchorElement,而IHTMLAnchorElement接口的get_href就是我们想要的,通过循环获取,我们就可以...
首先是用IHTMLDocument2的get_links,来获取IHTMLElementCollection接口,再通过IHTMLElementCollection来获取IHTMLAnchorElement,而IHTMLAnchorElement接口的get_href就是我们想要的,通过循环获取,我们就可以...
用IHTMLDocument2实现的自动填表。.net2003
实现了一个控件去获得IHTMLDocument2接口,然后读取内容,匹配用户名与密码等。 CFile64_src 操作大文件,自定义了一个操作大文件的类,并进行了测试。 chapter7 实现了声音录制等功能。 CHtmlViewProjV2 详细...