问个关于webbrowse的问题

puyinghua 2005-03-19 02:35:15
1、请问webbrowse的方法与属性?(搜了下,没找到资料,惭愧)

2、在dephi里,用这控件打开一个网页中,可以用以下方法得到一个表中的值

eg: 得到表对象 m_webBrowse.oleobject.document.all.tags("table")

那么在VC中呢? 如果实现?
...全文
74 点赞 收藏 6
写回复
6 条回复
xuzheng318 2005年03月20日
帮楼主顶,关注!
回复 点赞
oyljerry 2005年03月20日
1,VC中有一个WebBrowser的控件,可以直接使用
2,通过IHTMLDocument2接口来操作
回复 点赞
masterz 2005年03月20日
#include <iostream>
#include <tchar.h>
#import <mshtml.tlb>
#import <shdocvw.dll>
void GetAllTablesInRunningIE()
{
// Import the following files in your stdafx.h
// #import <mshtml.tlb> // Internet Explorer 5
// Refer to "Connect to Internet Explorer Instances, From your own Process. " in www.codeguru.com
// enumeration all shell windows, you have to
//modify according your own need.
// masterz vc2003 windows2003 IE6
SHDocVw::IShellWindowsPtr m_spSHWinds;
if(m_spSHWinds.CreateInstance(__uuidof(SHDocVw::ShellWindows)) == S_OK)
{
long nCount = m_spSHWinds->GetCount();
for (long i = 0; i < nCount; i++)
{
IDispatchPtr spDisp;
_variant_t va(i, VT_I4);
spDisp = m_spSHWinds->Item(va);
SHDocVw::IWebBrowser2Ptr spBrowser(spDisp);
if (spBrowser != NULL)
{
IDispatchPtr pDispDoc;
if(spBrowser->get_Document(&pDispDoc) == S_OK && pDispDoc!= 0 )
{
MSHTML::IHTMLDocument2Ptr spHtmlDocument(pDispDoc);
if(spHtmlDocument == NULL)
continue;
MSHTML::IHTMLElementCollectionPtr pColl=NULL;
HRESULT hr=spHtmlDocument->get_all(&pColl);
if(pColl == NULL)
continue;
IDispatchPtr pDispCol = pColl->tags(_variant_t("table"));
MSHTML::IHTMLElementCollectionPtr pAllTables(pDispCol);
if(pAllTables)
{
std::cout<<"There are "<<pAllTables->Getlength()<<" in the document"<<std::endl;
}
}
}
}

}
else {
std::cout<<("Shell Windows interface is not available")<<std::endl;
}
}
int _tmain(int argc, _TCHAR* argv[])
{
CoInitialize(NULL);
GetAllTablesInRunningIE();
CoUninitialize();
system("pause");
return 0;
}
回复 点赞
jerry 2005年03月19日
VC里操作COM接口,要实现相同的目的,要烦多了
回复 点赞
Kudeet 2005年03月19日
1 WebBrowser Control Overviews and Tutorials
http://msdn.microsoft.com/library/default.asp?url=/workshop/browser/webbrowser/browser_control_ovw_entry.asp
2 俺只知道应该是通过IHTMLDocument2接口来操作
http://dev.csdn.net/develop/article/28/28107.shtm
回复 点赞
rabo 2005年03月19日
VC里面有webbrowse2控件,拖进去就能用了。
回复 点赞
发动态
发帖子
网络编程
创建于2007-09-28

7881

社区成员

6.4w+

社区内容

VC/MFC 网络编程
社区公告
暂无公告