轉貼資料, 資料來源:
http://delphi.ktop.com.tw/topic.asp?TOPIC_ID=29759
透過OLE Automation控制Internet Explorer Applicalion的範例
語法:
寫法一.
void __fastcall Tform1::Button1Click(TObject *Sender)
{
Variant IEbrowser;
HWND hWnd;
if( VarIsEmpty( IEbrowser ) )
{
IEbrowser = CreateOleObject("InternetExplorer.Application");
}
if(!(hWnd = FindWindow( "IEFrame", NULL )))
{
IEbrowser = CreateOleObject( "InternetExplorer.Application" );
hWnd = FindWindow( "IEFrame", NULL );
}
if(hWnd)
{
IEbrowser.OlePropertySet("Visible",true);
::SetForegroundWindow( hWnd );
IEbrowser.OleProcedure("Navigate","網址");
}
}
寫法二.
void __fastcall Tform1::Button1Click(TObject *Sender)
{
Variant IEbrowser = Variant::CreateObject("InternetExplorer.Application");
IEbrowser.OlePropertySet("Width","800");
IEbrowser.OlePropertySet("Height","600");
IEbrowser.OlePropertySet("Visible","true");
IEbrowser.OleProcedure("Navigate","<a href=http://delphi.ktop.com.tw"); target=_blank>http://delphi.ktop.com.tw");</a>
IEbrowser = Unassigned; //OLE Release
}
如果啟動Internet Explorer時指定為首頁設定可下達:
IEbrowser.OleFunction("GoHome");
如果URL不指定網址可設為
IEbrowser.OleProcedure("Navigate","aboutblank");
隱藏AddressBar:
IEbrowser.OlePropertySet("AddressBar",false);
顯示AddressBar:
IEbrowser.OlePropertySet("AddressBar",True);
指定為瀏覽上一頁可下達:
IEbrowser.OleFunction("GoBack");
指定為瀏覽下一頁可下達:
IEbrowser.OleFunction("GoForward");
指定為MSN蒐尋引擎功能可下達:
IEbrowser.OleFunction("GoSearch");
指定Internet Expolorer為全螢幕方式顯示:
IEbrowser.OlePropertySet("FullScreen","true");
取得internet Explorer檔案路徑:
Edit1->Text=IEbrowser.OlePropertyGet("FullName");
取得結果為:C:Program FilesInternet ExplorerIEXPLORE.EXE
判斷Internet Explorer是否為busy
如果Busy命令傳回值等於-1,表示Internet Explorer 忙碌,中如果Busy命令傳回值等於1,表示Internet Explorer 不忙碌
相關資訊可參考
http://msdn.microsoft.com/library/defau ... plorer.asp
[轉貼]透過OLE Automation控制Internet Explorer Applicalion的範例
[轉貼]透過OLE Automation控制Internet Explorer Applicalion的範例
多多留言, 整理文章, 把經驗累積下來.....