禁用“脚本错误”弹出窗口IWebBrowser2 c ++ WinApi

时间:2019-08-02 10:21:04

标签: c++ winapi com iwebbrowser2

具有IWebBrowser2的HWND。 IWebBrowser2是新的CLSID_WEBBROWSER。 当我导航到youtube,google等时,有时会显示脚本错误。我想禁用它。我该怎么办?


if (MoneyHWND == NULL) {
                if (SUCCEEDED(OleInitialize(NULL)))
                {
                    vector<wchar_t> fn(1000);
                    GetModuleFileName(0, fn.data(), 1000);
                    PathStripPath(fn.data());
                    RKEY k(HKEY_CURRENT_USER, L"SOFTWARE\\Microsoft\\Internet Explorer\\Main\\FeatureControl\\FEATURE_BROWSER_EMULATION");
                    k[fn.data()] = 11001UL; // Use IE 11
                    MoneyHWND = CreateDialog(GetModuleHandle(0), MAKEINTRESOURCE(IDD_FORMVIEW1), hWnd, MoneyProc);
                    pBrowser2 = new WebBrowser(MoneyHWND);

                    RECT rc;
                    GetClientRect(MoneyHWND, &rc);
                    pBrowser2->SetRect(rc);


                    pBrowser2->Navigate(site);

                    OleUninitialize();
                }
            }

1 个答案:

答案 0 :(得分:0)

IWebBrowser2::Silent

  

设置或获取一个值,该值指示对象是否可以显示对话框。

请注意,该属性使用以下签名公开给C和C ++程序:

HRESULT IWebBrowser2::get_Silent(VARIANT_BOOL *pbSilent);
HRESULT IWebBrowser2::put_Silent(VARIANT_BOOL bSilent);

换句话说:

    // ...
    auto hr{ pBrowser2->put_Silent(VARIANT_TRUE) };
    if FAILED(hr)
    {
        // Handle error
        // ...
    }