安装钩子
g_hHook = SetWindowsHookEx(WH_CBT, (HOOKPROC)CbtProc, NULL, GetCurrentThreadId());
if (!g_hHook)
return false;HRESULT hr = m_pWebBrowser->ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DODEFAULT, NULL, NULL);
UnhookWindowsHookEx(g_hHook);其中IWebBrowser2* m_pWebBrowser;下面这个钩子子程,nCode怎么都不等于HCBT_CREATEWND
LRESULT CALLBACK CWebBrowserPrint::CbtProc(int nCode, WPARAM wParam, LPARAM lParam) 
{   switch (nCode)
{
case HCBT_CREATEWND:
{
HWND hWnd = (HWND)wParam;
LPCBT_CREATEWND pcbt = (LPCBT_CREATEWND)lParam;
LPCREATESTRUCT pcs = pcbt->lpcs;
if ((DWORD)pcs->lpszClass == 0x00008002)
{
g_hWnd = hWnd;          // Get hwnd of Page Setup dialog
pcs->x = -2 * pcs->cx;  // Move dialog off screen
}
break;
}
case HCBT_ACTIVATE:
{
HWND hwnd = (HWND)wParam;
if (hwnd == g_hWnd)
{
g_hWnd = NULL;
(g_pWebBrowserPrint->*g_pDoDlgExchangeFunc)(hwnd);  // Call thru func ptr
g_bSuccess = true;
}
break;
}
}
    return CallNextHookEx(g_hHook, nCode, wParam, lParam); 
} 为什么?难道IE6中的 打印对话框 很特殊,跟打印设置框 不一样?请高手指点分数不够可以再加
谢谢了!!!