如何確定IE已完全讀完該網頁? |
缺席
|
HomeSound
中階會員 發表:44 回覆:178 積分:94 註冊:2002-08-31 發送簡訊給我 |
|
axsoft
版主 發表:681 回覆:1056 積分:969 註冊:2002-03-13 發送簡訊給我 |
HomeSound您好:
判斷Internet Explorer是否為busy 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"); } 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 1.如果上面的方法不適用可能要用Findwindow相關API取得IE Handle進而取得IE StatusBar上的文字來判別了 2.READYSTATE也許可成為判定的依據....沒試過 < href="http://msdn.microsoft.com/workshop/browser/webbrowser/reference/enums/readystate_enum.asp#READYSTATE_COMPLETE">http://msdn.microsoft.com/workshop/browser/webbrowser/reference/enums/readystate_enum.asp#READYSTATE_COMPLETE /*生活是一種藝術,用心生活才能享受生活*/發表人 - axsoft 於 2004/03/04 18:56:54 |
axsoft
版主 發表:681 回覆:1056 積分:969 註冊:2002-03-13 發送簡訊給我 |
//--------------------------------------------------------------------------- #include花了點時間try READYSTATE的Status,上面的Code應該可以符合您的要求了! /*生活是一種藝術,用心生活才能享受生活*/ |
HomeSound
中階會員 發表:44 回覆:178 積分:94 註冊:2002-08-31 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |