全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2621
推到 Plurk!
推到 Facebook!

透過OLE Automation控制Internet Explorer Applicalion的範例

 
axsoft
版主


發表:681
回覆:1056
積分:969
註冊:2002-03-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-04-30 18:12:32 IP:61.218.xxx.xxx 未訂閱

透過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","http://delphi.ktop.com.tw");
       }
} 
寫法二.

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","http://delphi.ktop.com.tw");    IEbrowser = Unassigned; //OLE Release
}
如果啟動Internet Explorer時指定為首頁設定可下達: IEbrowser.OleFunction("GoHome"); 如果URL不指定網址可設為 IEbrowser.OleProcedure("Navigate","about:blank"); 隱藏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 Files\Internet Explorer\IEXPLORE.EXE 判斷Internet Explorer是否為busy
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Variant IEbrowser = Variant::CreateObject("InternetExplorer.Application");
  IEbrowser.OlePropertySet("Visible","true");
  IEbrowser.OleProcedure("Navigate","http://www.google.com");
  Sleep(1000);//視狀況調整
  if(IEbrowser.OlePropertyGet("Busy")<1)
      ShowMessage("瀏覽器忙碌中");
}
如果Busy命令傳回值等於-1,表示Internet Explorer 忙碌,中如果Busy命令傳回值等於1,表示Internet Explorer 不忙碌 以上為個人心得僅供參考:) 相關資訊可參考 http://msdn.microsoft.com/library/default.asp?url=/workshop/browser/webbrowser/reference/objects/internetexplorer.asp Delphi.Ktop風紀小隊---[ 發問前請先找找舊文章 ]--- 發表人 - axsoft 於 2003/05/02 17:28:05
系統時間:2024-04-20 23:21:49
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!