Now I'm trying to implement a Browser Helper Object on IE11. In the BHO I would like to hook WH_CALLWNDPROC to detect editing to Address bar but I have not got it. When I call the SetWindowsHookEx function in BHO SetSite, the BHO dll is injected to IE Child Process but is not injected to IE Parent Process. So I have not detected the editing.
Do you know how to get it?
MyBHO.cpp
STDMETHODIMP CHelloWorldBHO::SetSite(IUnknown* pUnkSite)
{
--- snip ---
HWND hwnd;
if (pUnkSite != NULL)
{
pUnkSite->QueryInterface(IID_IWebBrowser2, (void**)&m_spWebBrowser);
if (SUCCEEDED(m_spWebBrowser->get_HWND((LONG_PTR*)&hwnd))) {
m_hHook = SetWindowsHookEx(WH_CALLWNDPROC, BHO_AddressEditProcedure, hInstanceDll, GetWindowThreadProcessId(hwnd, NULL));
if (!m_hHook) {
--- snip ---
}
}
else
{
m_spWebBrowser.Release();
}
return IObjectWithSiteImpl::SetSite(pUnkSite);
}
Best Regards, Kamakuran