c# - 什么是 IWebBrowser::Navigate2 等同于 window.open(...)?

标签 c# c++ com

我需要等价物

window.open('打开的url','窗口名称','toolbar=no');

在 C# 或 C++ 中 - 没有限制

感谢您的帮助

最佳答案

只需使用 IHTMLWindow2::open .

BOOL OpenWindow(IWebBrowser2* pWebBrowser, CString strUrl, CString strName, CString strFeatures)
{
    if(pWebBrowser != NULL)
    {
        CComDispatchDriver pDocDisp;
        if(SUCCEEDED(pWebBrowser->get_Document(&pDocDisp)))
        {   
            CComQIPtr<IHTMLDocument2> pDoc = pDocDisp;
            if(pDoc != NULL)
            {
                CComPtr<IHTMLWindow2> pWindow;
                if(SUCCEEDED(pDoc->get_parentWindow(&pWindow)))
                {
                    CComPtr<IHTMLWindow2> pWindowResult;
                    return SUCCEEDED(pWindow->open(CComBSTR(strUrl), CComBSTR(strName), CComBSTR(strFeatures), VARIANT_FALSE, &pWindowResult));
                }
            }
        }           
    }
    return FALSE;
}

关于c# - 什么是 IWebBrowser::Navigate2 等同于 window.open(...)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4520770/

相关文章:

c++ - OpenGL 选择性离屏渲染到一个片段着色器中的 2 个纹理之一

c++ - 新建然后删除后的内存消耗

c++ - 适用于 Windows CE/Mobile 的 C++ HTTP Websockets 客户端库

c++ - COM 中的异常

c++ - 函数传值和自由分配

excel - 如何使用 WSH 阅读电子表格?

c# - C# 中的状态机

c# - 在任何情况下,异步等待方法内的对象更改在完成后是否可见?

c# - C# dotnet core 2.0 的 AOP,在方法体运行之前访问方法参数值

C# 使用接口(interface)属性实现接口(interface)。