關於從ActiveX中開啟網頁的問題 |
缺席
|
gemini07
一般會員 發表:29 回覆:18 積分:14 註冊:2003-04-20 發送簡訊給我 |
各位前輩好
我現在實做一個 ActiveX 鑲在網頁上面,ActiveX Form中有一個按鈕會執行連接到某一網頁的功能。 另外在進入此 ActiveX 網頁前,必須先讓使用者登入之後,然後點擊ActiveX的連結才會導向正確的網址。 但我發現無法做到像網頁語法 _blank 的效果一樣,因為已經有登錄過,所以會自動導向正確的網址, 而每次用透過 ActiveX 的方式開啟該網頁都需要使用者再重新登入一次。 這是我之前的寫法... ShellExecute( handle, NULL, "iexplore.exe", url.c_str(), L"_blank", SW_SHOWNORMAL ); 後來嘗試使用... Variant IEbrowser = Variant::CreateObject("InternetExplorer.Application"); IEbrowser.OleProcedure("Navigate",url,"_blank"); 但卻在執行第二行程式的時候,發出Exception而失敗。 所以我想請問各位前輩,我該用什麼方法完成我問題中希望做到的效果呢? 謝謝 |
gemini07
一般會員 發表:29 回覆:18 積分:14 註冊:2003-04-20 發送簡訊給我 |
已經找到解決的方法了,把程式PO上來^^
if (SUCCEEDED(OleInitialize(NULL))) { IWebBrowser2* pBrowser2; CoCreateInstance( CLSID_InternetExplorer, NULL, CLSCTX_LOCAL_SERVER, IID_IWebBrowser2, (void**)&pBrowser2); if (pBrowser2) { VARIANT vEmpty; VariantInit(&vEmpty); BSTR bstrURL = SysAllocString(url.c_bstr()); HRESULT hr = pBrowser2->Navigate(bstrURL, &vEmpty, &vEmpty, &vEmpty, &vEmpty); if (SUCCEEDED(hr)) { pBrowser2->put_Visible(VARIANT_TRUE); } else { pBrowser2->Quit(); } SysFreeString(bstrURL); pBrowser2->Release(); } OleUninitialize(); } |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |