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++¡ ......
delphi»ñÈ¡WindowsϵͳµÄ½ø³ÌÔËÐÐÐÅÏ¢
×Ô´Ó³öÏÖwindowsϵͳÒÔÀ´£¬¸÷ÖÖ¸÷ÑùµÄÈí¼þ²ã³ö²»Çî¡£¹ºÂò»òÕßÃâ·ÑÏÂÔØÒÔºó£¬ÇáÇáµã»÷Install»òÕßSetupÒÔºó£¬ÉÔ×÷ЩÐí¼òµ¥ÅäÖþÍÍê³É°²×°µÄÕû¸ö¹ý³Ì¡£ÏÔÈ»Õâ¸øÓû§´øÀ´ÁËÐí¶à·½±ã£¬µ«¶ÔÓû§À´ËµÕâЩÈí¼þËÆºõÊǸö"ºÚÏ»×Ó"£¬Õ¹ÏÖÔÚÓû§ÃæÇ°µÄ½ö½öÊÇ»ªÀöµÄÍâ±íºÍ¼ò½àµÄ²Ù×÷£¬ÖÁÓÚÈí ......
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OleCtrls, SHDocVw, ExtCtrls,MSHTML;
type
TForm1 = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Edit1: TEdit;
&nb ......
uses ComObj;
var WordApp: Variant;
begin
WordApp := CreateOleObject('Word.Application');
WordApp.Documents.open('c:\1.doc');
WordApp.Selection.InsertFile('c:\2.doc','',False,false,false);
WordApp.Selection.InsertFile('c:\3.doc','',False,false,false);
WordApp.ActiveDocument.SaveAs('C:\4.doc' ......
delphiÖÐWebbrowserÎÊÌâÊÕ¼¯
»ñµÃÍøÒ³ÖбäÁ¿Öµ htmÖÐ<script> var currID=123</script> ³ÌÐòÖпÉÒÔÕâôµ÷Óà id := Form1.WebBrowser1.OleObject.Document.script.currID ÖµµÃ˵Ã÷µÄÊÇ,±äÁ¿¿ÉÒÔÊÇjavascript¶¨ÒåµÄ,Ò²¿ÉÒÔÊÇvbs ......