如何获取 WebBrowser 的内容

dysqw 2005-01-14 03:36:32
已知WebBrowser控件的句柄
外部程序的
如何获取该控件的内容
...全文
552 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
VBAHZ 2005-02-09
  • 打赏
  • 举报
回复
好像说的是外部程序的WebBrower啊!

//Set oPF = WebBrowser1.Document

哇,已经取到啦?厉害厉害,真简单:)

呵呵,如果别人用的是WebBrower2或WebBrower100000呢???
TechnoFantasy 2005-02-09
  • 打赏
  • 举报
回复
保存webbrowser中的HTML内容 (再Vb和Delphi中的实现)

http://blog.csdn.net/technofantasy/archive/2004/04/12/2973.aspx
  • 打赏
  • 举报
回复
汗你是不是要webbrowser里面网页的源码

给一大堆VC和DELPHI的干什么??

VC倒不难,可是DELPHI可是一点都看不懂
dysqw 2005-01-16
  • 打赏
  • 举报
回复
就是没有VB
qiurisiyu1 2005-01-16
  • 打赏
  • 举报
回复
20分是在少了点!没多大意义!
viena 2005-01-16
  • 打赏
  • 举报
回复
这是金星人的代码 帮我转换成VB代码
v躒u'F#f?蒈憮瘼];徽紳?yZW恜正o罂-?垍p挖^n?聐9!'L4c愆{┹?T動僒?忨h採?Il囕碷~犬?牴~诱談鷻鼁踀硭'鬲懸鷁SY?╣>jQX犿?}<O厝cb迠爊淼?O輓剳3刱v匥陼[晊K$n铟?畷?$L[乗5挡玷Or怼颰nv梛E
肂?ab5nR鲇槻KJy4類褚熐琛~G恏6.遛3诙} c穔趁酣蓤鄞?帜?k殄>附?
烨爋昿}枀?噰W锖?#62;弶?覓,堼鋷莀{槀促i嵹?Q鎩c驼?峉叒f岇KS樣妘c^b[猤B?im雉vh鎆忋?慵h.R闁 牕区潧 P聹#Az愽墝簑蠗v橊埞擳2痼袐?x|幁dXI殹磜霞馣
味框顲|Dc騶.伋37峌?PPQh杍遥6巓暪f'宽a脃6蠷?馏7f暜u(鎺X,M<O鳟酊久祼'牕蜖贫?#62;~XCD薁楋℅诽聿}a?n
┱8C0矲顁0鑂镳?8K??痛S籦阤{燄)衶A⒚q??J
鎷澜轃?s潖鼨J(棪,軻?所K溛;87g铄sh簿e佇﹪p胕怘鄮;q,炛怗V娫?2髾?CDn`櫕抷見岸?Q潵肎
2_c楟@bl飫锓\?
WV芎簈M?&B萶D駶"摦躦鰍褣患嵷砺駯GI毢`淾砕烞柸?MH9?帔雭)粯抣?蟞(栈僪q竆?BR> 橡﹏渥掉p麗驔jj?晧繲鸨<C?抖W蚕?墄??.B?Dp?箊?垟?呬W箫
o憵`.濑廖秙?ヘ岩62
继鯛/ォb薫,?蔈昡旱o蹓鲿棴璠?E鈭總箉鳩/.\蟦吾c)孾管2E
耝牞?#60;牣'刜?M锵}-溺耷祒R噯?e鏌拆坭lb筬擔f,1w炊a?磓蝗淈%?蘇n琎土婕Yk魄Nm}?鉥D
h諐鋼?终幚2箵?BR> >姪:Q浯鵞R櫑b蘐6W>Jkえ笚撍鹵鳺扯$娡0q臷7赕v効柇烅p焸Av坻lo?#38;d#岃熜拿银??浼奖?h犔?驅粴r奕?6鶃攴痭9Tkя'&%w▏x吣
?BR> ?擪C&A藬Q底桋璫A梏啋?Cm%>n寁m"A笍?癲話7<?鶉?远絴g桘X樢[务
viena 2005-01-16
  • 打赏
  • 举报
回复
这是火星人的代码 帮我转换成VB代码
Ütş_¼Ûi7WUÑü0õ¶CŒ_£¨:QëÕq…å4j¯Ž8DN“9ë‹õ¦îŒÂŸG§Í³â…ó~‹™¨Ş× ¨ÂÊ÷¦QW9PĞËÕf:q3Œ Í–Æ}a­ *"]5ğœXœåªwG#)ˍÓáÈ­R":´Ç˜¤úö™Ò *Ž(è;­ÜyB½{C%]şOGÃô`@›U _úˆ^É!ÃİÎŒ{O®d"öSZÆWİ/ÈŠFžc<ïù\ñ«Î,ìj…×@Õ€û_&±H¶ ‹Ìi˜Ã7y#';ğŒ®ÈïGKysúQ}½%%Û {ıùÆ&Vò´ßŸêgÿ’ Ñ”qnm{]à"l¾'IC·íÔSŠUžÂ+ï Ì>5yâyٍ–ŸQ`XSññk¶z,.юt`‹b–ªâ1 šØ½|£©È·³¸pgÖÙ' Ê|ŸğŞ1árméd>eÖ†Î–\p–2°#e,6/¥|õÅ æÊ"+×ä'¢èÛ¿ÄÀ+üœzlbö‡$;hé@`ŒY…Ÿ|)…İÉjõÃâgˆo¿j‰/w¦qx™YP÷ +e¦ /=b·A»²ql'ñÛaÛ·¸¹€S#ÃK*Í+‚ü%Ş/ྗ"Ê¢ä}ªM„G=³vØ‘"Kµò£0ÚŞĞ<­¶ş‰‰ærPÑÅùE7`Kÿ¿Æ)0ãÎ7e¶°e˜CvÍ°­Îù:œO›µşŞ¦Mys…\ÔÄ ZşR±¼½tEI‘¢±•2B¾b"˜İÇãI/RöÉØ­… Êİi< oâ½öâ¡-a¼¸Íªê,S¨ËÚ™‹ÊŸ°Ë€•\G‰İùâ…Nw1 fˆî€é“#$³À_°§ÉG Ÿz§úˆ·ÁœÏlAîãÛ(—`Ÿ©z*i­î‡!èi¡žœ;{×üĞ4™µ#9Jú'¹˜¹ĞĞõêsã;ÄŠål 6.<5÷—ñÍ7|_Úªn
kmzs 2005-01-15
  • 打赏
  • 举报
回复
C和Delphi都有就是没有VB???
dysqw 2005-01-15
  • 打赏
  • 举报
回复
这是DELPHI的代码 帮我转换成VB代码 
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ActiveX, OleCtrls, SHDocVw, MSHtml, StdCtrls;

type
TForm1 = class(TForm)
SourceViewMemo: TMemo;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

type
TObjectFromLResult = function(LRESULT: lResult; const IID: TIID; WPARAM: wParam; out pObject): HRESULT; stdcall;

function GetIEFromHWND(WHandle: HWND; var IE: IWebbrowser2): HRESULT;
var
hInst: HWND;
lRes: Cardinal;
MSG: Integer;
pDoc: IHTMLDocument2;
ObjectFromLresult: TObjectFromLresult;
begin
hInst := LoadLibrary(‘Oleacc.dll‘);
@ObjectFromLresult := GetProcAddress(hInst, ‘ObjectFromLresult‘);
if @ObjectFromLresult <> nil then begin
try
MSG := RegisterWindowMessage(‘WM_HTML_GETOBJECT‘);
SendMessageTimeOut(WHandle, MSG, 0, 0, SMTO_ABORTIFHUNG, 1000, lRes);
Result := ObjectFromLresult(lRes, IHTMLDocument2, 0, pDoc);
if Result = S_OK then
(pDoc.parentWindow as IServiceprovider).QueryService(IWebbrowserApp, IWebbrowser2, IE);
finally
FreeLibrary(hInst);
end;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
All: IHtmlElementCollection;
HtmlElement: IHtmlElement;
I: Integer;
Document: IHtmlDocument2;
IE: IWebBrowser2;
Wnd: HWND;
WndChild: HWND;
begin
Wnd := FindWindow(‘IEFrame‘, nil);
if Wnd = 0 then
begin
MessageDlg (‘No Running instance of Internet Explorer!‘,mtError, [mbOK], 0);
end;
WndChild := FindWindowEX(Wnd, 0, ‘Shell DocObject View‘, nil);
if WndChild <> 0 then
begin
WndChild := FindWindowEX(WndChild, 0, ‘Internet Explorer_Server‘, nil);
if WndChild <> 0 then
begin
GetIEFromHWnd(WndChild, IE); //Get Iwebbrowser2 from Handle
Document := IE.Document as IHtmlDocument2;
if (assigned(Document)) then
begin
All := Document.All;
for I := 0 to All.Length -1 do
begin
HtmlElement := All.item(i,0) as IhtmlElement;
if (assigned(Document)) then
SourceViewMemo.Lines.Add (IntToStr(i) + ‘ ‘ + HTmlElement.InnerHTML);
end;
end;
end;
end;
end;

end.
dysqw 2005-01-15
  • 打赏
  • 举报
回复
这是VC的代码,谁帮我转换在VB代码 
#include <mshtml.h>
#include <atlbase.h>
#include <oleacc.h>

BOOL CALLBACK EnumChildProc(HWND hwnd,LPARAM lParam)
{
TCHAR buf[100];

::GetClassName( hwnd, (LPTSTR)&buf, 100 );
if ( _tcscmp( buf, _T("Internet Explorer_Server") ) == 0 )

{
*(HWND*)lParam = hwnd;
return FALSE;
}
else
return TRUE;
};

//You can store the interface pointer in a member variable
//for easier access
void CDlg::OnGetDocInterface(HWND hWnd)
{
CoInitialize( NULL );

// Explicitly load MSAA so we know if it's installed
HINSTANCE hInst = ::LoadLibrary( _T("OLEACC.DLL") );
if ( hInst != NULL )
{
if ( hWnd != NULL )
{
HWND hWndChild=NULL;
// Get 1st document window
::EnumChildWindows( hWnd, EnumChildProc, (LPARAM)&hWndChild );
if ( hWndChild )
{
CComPtr<IHTMLDocument2> spDoc;
LRESULT lRes;

UINT nMsg = ::RegisterWindowMessage( _T("WM_HTML_GETOBJECT") );
::SendMessageTimeout( hWndChild, nMsg, 0L, 0L, SMTO_ABORTIFHUNG, 1000, (DWORD*)&lRes );

LPFNOBJECTFROMLRESULT pfObjectFromLresult = (LPFNOBJECTFROMLRESULT)::GetProcAddress( hInst, _T("ObjectFromLresult") );
if ( pfObjectFromLresult != NULL )
{
HRESULT hr;
hr = (*pfObjectFromLresult)( lRes, IID_IHTMLDocument, 0, (void**)&spDoc );
if ( SUCCEEDED(hr) )
{
CComPtr<IDispatch> spDisp;
CComQIPtr<IHTMLWindow2> spWin;
spDoc->get_Script( &spDisp );
spWin = spDisp;
spWin->get_document( &spDoc.p );
// Change background color to red
spDoc->put_bgColor( CComVariant("red") );
}
}
} // else document not ready
} // else Internet Explorer is not running
::FreeLibrary( hInst );
} // else Active Accessibility is not installed
CoUninitialize();
}

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧