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

判斷執行中的瀏覽器視窗

答題得分者是:Royce520
China Join
中階會員


發表:81
回覆:242
積分:89
註冊:2003-03-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-04-23 09:42:34 IP:218.170.xxx.xxx 未訂閱
請問如何判斷取得的瀏覽器視窗是否為執行中 VARIANT va; va.vt=VT_I4;//整數 va.lVal=Edit1->Text.ToInt(); //給值 Label1->Caption=CppShellWindows1->Count;//目前開啟的瀏覽器數目 //------------------這邊該如何取得,目前執行中的瀏覽器視窗呢? CppInternetExplorer1->ConnectTo(CppShellWindows1->Item(va));//設定想要開啟的瀏覽器
Royce520
高階會員


發表:18
回覆:157
積分:100
註冊:2002-09-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-04-23 22:55:28 IP:61.59.xxx.xxx 未訂閱
China Join 你好,     你的問題在列舉執行中的 IE instances... (1) #include 〈SHDocVw_OCX.h〉 (2)    TCppShellWindows* explorer; (3)    explorer = new TCppShellWindows(NULL); // init the object!       long lCopies = explorer->Get_Count();    for ( long i = 0; i < lCopies; i++)    {       TVariantInParam va(i);       try {          IWebBrowser2Ptr browser(explorer->Item(va));          if (browser)          {          ...          }       ...    }     這樣應該就可以取得目前執行中的瀏覽器視窗了 *真實的事物最美, 簡單的道理最好, 我能體會的 太少* 發表人 -
------
不要忘記呼吸,不要忘記編程! ∩__∩
China Join
中階會員


發表:81
回覆:242
積分:89
註冊:2003-03-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-04-24 07:05:41 IP:218.170.xxx.xxx 未訂閱
謝謝您的幫忙,但是小弟照您的方式去改,匯出現 HRCHECK 的錯誤,錯誤訊息是,不支援此種介面,程式如下,每 3 秒偵測一次目前執行中的瀏覽器。 void __fastcall TForm1::Timer1Timer(TObject *Sender) { TCppShellWindows* explorer; explorer = new TCppShellWindows(NULL); // init the object! VARIANT va; va.vt=VT_I4;//整數 long lCopies = explorer->get_Count(); for ( long i = 0; i < lCopies; i ) { va.lVal=i; //TVariantInParam va(i);//這邊好像也有問題 try { IWebBrowser2Ptr browser(explorer->Item(va)); if (browser) { CppInternetExplorer1->ConnectTo(explorer->Item(va)); Memo1->Text=CppInternetExplorer1->LocationURL; Memo2->Text=CppInternetExplorer1->LocationName; } }catch(...){} } }
Royce520
高階會員


發表:18
回覆:157
積分:100
註冊:2002-09-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-04-25 00:01:11 IP:61.216.xxx.xxx 未訂閱
China Join 你好,    我重試了 跟你說過的方式來連結執行中的 IE,    正確的說法是  ShellEexplorer... 是可以的啊    long lCopies = explorer->get_Count(); 這一行    就取得了 執行中的程式個數...  這包含了 IE 和    檔案總管, 下一步便是排除...哪些不在瀏覽網頁的    因為 因為檔案總管也可以看網頁..而IE 也可以看    磁碟中的檔案...    以下就是依個運作範例  >>>>>>>>
------
不要忘記呼吸,不要忘記編程! ∩__∩
China Join
中階會員


發表:81
回覆:242
積分:89
註冊:2003-03-12

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-04-25 10:44:30 IP:218.170.xxx.xxx 未訂閱
抱歉,偶表達的不好,小弟想要得知,使用者目前正在瀏覽的網頁,而不是全部運行中的網頁 ...    照您上面貼的程式碼去運作發生下面這個錯誤 ...    
Royce520
高階會員


發表:18
回覆:157
積分:100
註冊:2002-09-13

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-04-25 13:57:01 IP:61.216.xxx.xxx 未訂閱
China Join 你好,    你要知道目前 使用者目前正在瀏覽的網頁, 也是要透過這種方式啊    逐一檢查  譬如是不是 focus 的視窗等等, 另外, 這個程式的確是    可以執行的  看你的錯誤訊息  好像是 COM 元件的相關設定有問題了       你也可以這麼做, 列舉(enumerate)所有執行中的視窗, 然後判斷她的    title or class 等來找出它... *真實的事物最美, 簡單的道理最好, 我能體會的 太少*
------
不要忘記呼吸,不要忘記編程! ∩__∩
China Join
中階會員


發表:81
回覆:242
積分:89
註冊:2003-03-12

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-04-25 15:19:28 IP:218.170.xxx.xxx 未訂閱
剩下的小弟自己解決就可以ㄌ ,謝謝 Royce520 的熱心幫忙 
dg822
一般會員


發表:14
回覆:38
積分:10
註冊:2004-12-16

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-12-29 18:02:49 IP:219.132.xxx.xxx 未訂閱
china join,后来问题有解决吗? 我也想知道...
系統時間:2024-05-16 22:42:19
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!