WebBrowser×é¼þºÍMSHTML ÔÚDelphiÖеÄʹÓÃ
WebBrowser×é¼þºÍMSHTML ÔÚDelphiÖеÄʹÓÃ
ÓÉÓÚÏîÄ¿ÐèÒª£¬½üÀ´Ñо¿ÁËÒ»ÏÂWebBrowser×é¼þºÍMSHTML ÔÚDelphiÖеÄʹÓÃ,ÕûÀíÁËÒ»ÏÂÕâ¶Îʱ¼äÑо¿µÄ½á¹û,дÏÂÀ´Ò»ÊÇ·½±ã´ó¼Ò²éÔÄ,¶þÒ²¿ÉÒÔ¼ÓÉîÎÒ×Ô¼ºµÄ¼ÇÒä.Ï£ÍûÄܶԴó¼ÒÓÐËù°ïÖú… …,ͬʱ,Èç¹ûÓиüºÃµÄ´¦Àí·½Ê½»òÕßÎÒûÓÐÌáµ½µÄÎÊÌâ,Çë´ó¼ÒÒ²¸æËßÎÒŶ, ÔÛÃÇÒ»¿é½ø²½… ...,ÆäÖÐÒ»²¿·ÖÊÇÎÒ´ÓÍøÂçÖÐËѼ¯µÄ×ÊÁÏ,ллÄÇЩÐÖµÜÃÇ… …
MSHTML°ÑHTMLÒ³ÃæÖеÄÔªËØ·â×°³ÉÁËIHTMLInputElement¡¢ IHTMLInputButtonElement¡¢IHTMLInputTextElement¡¢IHTMLTextAreaElement¡¢IHTMLTitleElement¡¢IHTMLFormElementµÈµÈ×é¼þ½Ó¿Ú¡£
ÔÚ³ÌÐòÖпÉÒÔͨ¹ýMSHTMLÌṩµÄIHTMLDocument2½Ó¿ÚµÃµ½Õû¸öDocument¶ÔÏó£¬IHTMLElementCollection½Ó¿ÚµÃµ½ËùÓÐÒ³ÃæÔªËØµÄ¼¯ºÏ,ͨ¹ý¸Ã½Ó¿ÚµÄItem·½·¨¿ÉÒԵõ½¾ßÌåµÄij¸ö×é¼þ,È»ºóÉèÖúͶÁÈ¡¸Ã×é¼þµÄÊôÐÔÖµ¡£
ÏÂÃæÊÇһЩ³£Óù¦ÄܵÄÊÂÀý´úÂë.
1£® ´ò¿ªÄ³¸öÒ³Ãæ£º
web.Navigate(ExtractFilePath(Application.ExeName) + 'Template/login.html');
2£® È¡³öÒ³ÃæÖÐij¸öHtmlElementµÄValueÊôÐÔÖµ£º
function GetValueByElementName(web: TWebBrowser; elementName: string; index: integer): string;
begin
result := (((web.Document as IHTMLDocument2).body.all as
IHTMLElementCollection).item(elementName, index) as IHTMLInputElement
).value
end;
3£® ¸øHtmlElementÉèÖÃValueÊôÐÔ
procedure SetValueTextAreaName(web: TWebBrowser; elementName, value: string;index: integer);
begin
(((web.Document as IHTMLDocument2).body.all as
IHTMLElementCollection).item(elementName, index) as IHTMLTextAreaElement
).value := value;
end;
4£® ÅжÏÒ³ÃæÖ´Ðнá¹ûÊÇ·ñ³É¹¦
ÒòΪWebÓ¦ÓÃÖÐÈç¹û³ö´íµÄÒ»°ãÊDzÉÓôíÎóÒ³ÃæµÄ·½Ê½³ÊÏÖ¸ø×îÖÕÓû§,ËùÒÔÎÒÃÇÒ²ÎÞ·¨×¥µ½Http´íÎó,Ö»ÄÜͨ¹ýÔÚwebBeforeNavigate2ʼþÖн«URL²ÎÊý¼Ç¼µ½È«¾Ö±äÁ¿ÖÐ, È»ºóÔÚwebDocumentCompleteʼþÖиù¾ÝURL²ÎÊýºÍÈ«¾Ö±äÁ¿ÖеÄURL²ÎÊýÀ´ÅжÏÖ´Ðнá¹ûÊÇ·ñÕýÈ·.µ±È»,ÕâÑùÐèÒª½«Ò³ÃæµØÖ·±àÂëµ½´úÂëÖÐ,½µµÍÁËÁé»îÐÔ,µ«ÊÇÕâÒ²ÊÇÎÒÄÜÏëµ½µÄΨһµÄ·½·¨,Èç¹û´ó¼ÒÓÐʲôºÃµÄ·½·¨,Çë¸æËßÎÒŶ.
5£® ÆÁ±ÎÊó±êÓÒ¼üºÍijЩ¿ì½Ý¼ü
±¾¹¦ÄÜÐèÒªÔÚwebBrowserµÄ´°¿ÚÖмÓÈëApplicationEvents×é¼þ,ÉèÖÃËüµÄOnMessageʼþ´úÂëÈçϼ´¿É.
procedure TwebAdapterForm.ApplicationEvents1
Ïà¹ØÎĵµ£º
Delphi ActiveX FormµÄʹÓÃʵÀý
By knityster
1. ActiveX¿Ø¼þ¼ò½é
ActiveX¿Ø¼þÒ²¾ÍÊÇÒ»°ãËù˵µÄOCX¿Ø¼þ£¬ËüÊÇActiveX¼¼ÊõµÄÒ»²¿·Ö¡£
ActiveX¿Ø¼þ¿ÉÒÔ±»¼¯³Éµ½ºÜ¶àÖ§³ÖActiveXµÄÓ¦Óõ±ÖÐÈ¥£¬»òÕßÖ±½ÓÓÃÀ´À©Õ¹Ó¦ÓõŦÄÜ£¬ÕâЩ֧³ÖActiveXµÄÓ¦ÓðüÀ¨C++ Builder¡¢Delphi¡¢Visual dBASE¡¢ Visual Basic¡¢Visual C++¡ ......
Uses Tlhelp32;
//ÓÃListboxÏÔʾ·½·¨
procedure TForm1.Button1Click(Sender: TObject);
var
lppe:TProcessEntry32;
found:boolean;
Hand:THandle;
begin
Hand:=CreateToolhelp32Snapshot(TH32CS_SNAPALL,0);
lppe.dwSize := Sizeof(lppe); //³õʼ»¯
found:=Process32First(Hand,lppe);
......
ÕâÀïÏÈ˵˵Á½¸ö¸ÅÄTheme(Ö÷Ìâ)ºÍ Visual Style ¡£Theme ×îÔç³öÏÖÔÚ Microsoft Plus! for Windows 95 ÖУ¬ÊÇ Windows ÖÐ Wallpaper¡¢Cursors¡¢Fonts¡¢Sounds ¡¢Icons µÈµÄÉèÖÃÖµ¼¯ºÏ¡£Visual Style ÔÚ Windows XP Öвű»ÒýÈ룬Visual Style ¹æ¶¨ÁË Contorls µÄÍâ¹Û£¬ÁíÍ⻹°üÀ¨Ê¹ÓÃÕâЩÍâ¹ÛµÄÒ»Ì× API ......
1.1¡¢¼¤»î
var doc,url:Olevariant ;
begin
url:='about:blank' ;//»òÕßÒ»¸öÓÐʵ¼ÊÒâÒåµÄurl
WebBrowser1.Navigate2(url);//ÕâÑù¾Í¼¤»îÁË£¡
end;
1.2¡¢Ð´HTML´úÂë
var doc:Olevariant ;
s:string;
begin
doc:=WebBrowser1.Document;
doc.clear;//Çå³þÔµÓÉÄÚÈÝ£¬ÒÔ±ãдÐÂÄÚÈÝ
doc.write('<html>');
//ÆäË ......
delphiÖÐWebbrowserÎÊÌâÊÕ¼¯
»ñµÃÍøÒ³ÖбäÁ¿Öµ htmÖÐ<script> var currID=123</script> ³ÌÐòÖпÉÒÔÕâôµ÷Óà id := Form1.WebBrowser1.OleObject.Document.script.currID ÖµµÃ˵Ã÷µÄÊÇ,±äÁ¿¿ÉÒÔÊÇjavascript¶¨ÒåµÄ,Ò²¿ÉÒÔÊÇvbs ......