Что такое IWebBrowser :: Navigate2 эквивалент для window.open (...)? - PullRequest
0 голосов
/ 23 декабря 2010

мне нужен эквивалент для

window.open ('url to open', 'имя окна', 'toolbar = no');

в c # или C ++ - без метра

Спасибо за любую помощь

Ответы [ 2 ]

2 голосов
/ 11 мая 2011

Просто используйте 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;
}
1 голос
/ 08 мая 2011

Если у вас есть указатель на интерфейс IWebBrowser2, вы можете вызвать IWebBrowser2::get_document и получить интерфейс IDispatch. Затем вы можете запросить его для IHTMLDocument2. Как только у вас будет этот звонок IHtmlDocument2::get_parentWindow. Из интерфейса IHTMLWindow2, который возвращается, вы можете вызвать IHTMLWindow2::execScript, и вы можете передать свой javascript непосредственно этой функции и выполнить ее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...