BHO 개발 브 라 우 저 플러그 인 - Hello Word
MSDN:https://msdn.microsoft.com/en-us/library/bb250489(v=vs.85).aspx
CSDN 블 로그:http://blog.csdn.net/feier7501/article/details/11266345
이 방법 으로 생 성 된 플러그 인 은 웹 페이지 를 열 때 여러 개의 Message Box 가 팝 업 되 며, OnDocumentComplete 를 여러 번 실행 합 니 다.
해결 결과 없 음 다음 글 검색:
《 진정한 DocumentComplete 》:http://blog.csdn.net/skyremember/article/details/2994168
그러나 코드 는 VB 와 MFC 의 것 이 고 수정 방법 은 다음 과 같다.
CHEllo WorldBHO 멤버 변수 추가:
함수 SetSite 수정 은 다음 과 같 습 니 다.
LPUNKNOWN m_lpUnknown;
OnDocumentComplete 함수 수정 은 다음 과 같 습 니 다.
STDMETHODIMP CHelloWorldBHO::SetSite(IUnknown* pUnkSite)
{
if (pUnkSite != NULL)
{
// Cache the pointer to IWebBrowser2.
HRESULT hr = pUnkSite->QueryInterface(IID_IWebBrowser2, (void **)&m_spWebBrowser);
if (SUCCEEDED(hr))
{
// Register to sink events from DWebBrowserEvents2.
hr = DispEventAdvise(m_spWebBrowser);
if (SUCCEEDED(hr))
{
m_fAdvised = TRUE;
m_lpUnknown = pUnkSite;
}
}
}
else
{
// Unregister event sink.
if (m_fAdvised)
{
DispEventUnadvise(m_spWebBrowser);
m_fAdvised = FALSE;
m_lpUnknown= NULL;
}
// Release cached pointers and other resources here.
m_spWebBrowser.Release();
}
// Call base class implementation.
return IObjectWithSiteImpl<CMKeyBHO>::SetSite(pUnkSite);
}
이렇게 고 친 후에 웹 페이지 로 딩 이 완 료 될 때 만 대화 상 자 를 팝 업 할 수 있 습 니 다. 큰 성 과 를 거 두 었 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.