2013. 8. 12. 17:38

Get IE Tab Window Handle

Get  IE Tab Window Handle


http://social.msdn.microsoft.com/Forums/ie/ja-JP/df0fe7f2-0153-47d9-b18f-266d57ab7909/problems-with-modal-dialogs-and-messageboxes

I have problem that message box does not appear in case using IWebBrowser2-HWND
I solved this problem by using tab window handle

#include <shlguid.h>

IServiceProvider* pServiceProvider = NULL;
if (SUCCEEDED(pWebBrowser2->QueryInterface(
                    IID_IServiceProvider, 
                    (void**)&pServiceProvider)))
{
    IOleWindow* pWindow = NULL;
    if (SUCCEEDED(pServiceProvider->QueryService(
                    SID_SShellBrowser, 
                    IID_IOleWindow,
                    (void**)&pWindow)))
    {
        HWND hwndBrowser = NULL;
        if (SUCCEEDED(pWindow->GetWindow(&hwndBrowser)))
        {
            // hwndBrowser is the handle of TabWindowClass
        }

        pWindow->Release();
    }
 
    pServiceProvider->Release();
}