您目前已離線,請等候您的網際網路重新連線

如何從 ActiveX 控制項擷取 Web 網頁的 URL

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

181678
依現狀不再更新的知識庫內容免責聲明
本文旨在說明 Microsoft 不再提供支援的產品。因此,本文係依「現狀」提供,不會再更新。
結論
本文將示範如何 ActiveX 控制項可以擷取網頁 (文件) 將統一資源定位器 (URL) 上的它裝載。

這可能是可用來限制對特定網域/網站的 ActiveX 控制項的使用方式或存取檔案時提供相對路徑。
其他相關資訊
內嵌 ActiveX 控制項初始化,期間網際網路總管 (IE) 會傳遞一個指標,其用戶端站台到呼叫 IOleObject::SetClientSite()。這個處理程序可用來擷取容器 Moniker,或存取文件物件模型來擷取裝載的 Web 網頁的 URL。

本文將告訴您,如何從容器 Moniker 擷取目前的 URL。 如需有關如何取得 URL 從文件物件模型的詳細資訊,請參閱 「 Microsoft 知識庫 」 中下列文件:
172763資訊: 存取物件模型中的 ActiveX 控制項
請依照下列步驟從容器 Moniker 擷取目前的 URL:
  1. 取得用戶端站台 (IOleClientSite) 介面指標。容器電話 IOleObject::SetClientSite() 可將指標傳遞至用戶端站台。 覆寫這個方法,以快取 this 指標。
  2. 取得用戶端站台,由呼叫 IOleClientSite::GetMoniker() Moniker。
  3. 呼叫以取得目前文件的 URL IMoniker::GetDisplayName()。
下列範例程式碼會示範如何藉由覆寫 IOleObject::SetClientSite() 方法在使用中範本程式庫 (ATL) ActiveX 控制項來執行上述的步驟操作:

範例程式碼

STDMETHOD(SetClientSite)(IOleClientSite *pClientSite){   if (pClientSite != NULL)   {      // Obtain URL from container moniker.      CComPtr<IMoniker> spmk;      LPOLESTR pszDisplayName;      if (SUCCEEDED(pClientSite->GetMoniker(                                    OLEGETMONIKER_TEMPFORUSER,                                    OLEWHICHMK_CONTAINER,                                    &spmk)))      {         if (SUCCEEDED(spmk->GetDisplayName(                                 NULL, NULL, &pszDisplayName)))         {            USES_CONVERSION;            CComBSTR bstrURL;            bstrURL = pszDisplayName;            ATLTRACE("The current URL is %s\n", OLE2T(bstrURL));            CoTaskMemFree((LPVOID)pszDisplayName);         }      }   }   return IOleObject_SetClientSite(pClientSite);}				
参考
如需有關 IOleObject、 IoleClientSite 和 IOleContainer 介面的詳細資訊,請參閱 Microsoft Visual C++ 線上說明。

(c) [Microsoft Corporation 1998 年,[保留所有的權限]。標示 Davis,Microsoft 公司所佔的比重

警告:本文已自動翻譯

內容

文章識別碼:181678 - 最後檢閱時間:07/15/2004 15:46:29 - 修訂: 2.3

  • Microsoft Internet Explorer 3.0
  • Microsoft Internet Explorer 3.01
  • Microsoft Internet Explorer 3.02
  • Microsoft Internet Explorer 4.0 128-Bit Edition
  • Microsoft Internet Explorer 4.01 Service Pack 2
  • Microsoft Internet Explorer 5.0
  • Microsoft Internet Explorer 5.5
  • kbmt kbhowto KB181678 KbMtzh
意見反應