如题!

解决方案 »

  1.   

    SetWindowsHookEx(WH_CBT,......
    LRESULT CALLBACK ShellDll_MainHook(int nCode, WPARAM wParam, LPARAM lParam)
    {
    TCHAR szClass[MAX_PATH] = {0};

    HWND hwndToNewWindow;
        DWORD m_PID=0;
    if(nCode < 0)
    return CallNextHookEx(g_hShellHook, nCode, wParam, lParam);
     if (nCode == HCBT_CREATEWND) 
    {
    hwndToNewWindow = reinterpret_cast<HWND>(wParam);
        GetClassName(hwndToNewWindow, szClass, MAX_PATH);
    GetWindowThreadProcessId (hwndToNewWindow,&m_PID);      if ((lstrcmpi(szClass, __TEXT("Internet Explorer_TridentDlgFrame"))==0) && (m_PID==g_ProcessID) && (StopKill==FALSE))
    {  

    PostMessage(hwndToNewWindow,WM_CLOSE,0,0);

    }
    if((lstrcmpi(szClass, __TEXT("#32770"))==0))
    {  

        
    if( (m_PID==g_ProcessID) && (StopKill==FALSE) )
    {


    PostMessage(hwndToNewWindow,WM_CLOSE,0,0);

     
    }
    }

       
    }
        return CallNextHookEx(g_hShellHook, nCode, wParam, lParam);
    }
      

  2.   

    在webbrowser控件的NewWindow2事件中设置Cancel=True则不弹出,否则弹出