Re: IWebBrowser2->Navigate проблема
От: DoesntMatter  
Дата: 18.11.07 10:10
Оценка:
Здравствуйте, DoesntMatter, Вы писали:


DM>
DM>#include <stdio.h>
DM>#include <stdlib.h>
DM>#include <exdisp.h>
DM>#include <mshtml.h>

DM>int main(int argc, char* argv[])
DM>{
DM>    OleInitialize(NULL);
    
DM>    IShellWindows* ShellWindows = NULL;
    
DM>    if (FAILED(CoCreateInstance(CLSID_ShellWindows, NULL, CLSCTX_ALL, IID_IShellWindows, (void **)&ShellWindows)))
DM>    {
DM>        printf("Can't create IShellWindows instance\n");
DM>        return 1;
DM>    }
    
DM>    long count;
    
DM>    if (!SUCCEEDED(ShellWindows->get_Count(&count)))
DM>    {
DM>        return 0;
DM>    }

DM>    for (int i = 0; i < count; i++)
DM>    {
DM>        VARIANT v;
DM>        v.vt = VT_I4;
DM>        v.lVal = i;
        
DM>        IDispatch* WebBrowserDisp;
DM>        if (SUCCEEDED(ShellWindows->Item(v, &WebBrowserDisp)))
DM>        {
DM>            IWebBrowser2* WebBrowserIntf;
DM>            if (SUCCEEDED(WebBrowserDisp->QueryInterface(IID_IWebBrowser2, (void **)&WebBrowserIntf)))
DM>            {
DM>                BSTR bstrLocationURL;    
DM>                if (SUCCEEDED(WebBrowserIntf->get_LocationURL(&bstrLocationURL)))
DM>                {
DM>                    MessageBoxW(0,0,bstrLocationURL,0);
DM>                } else { MessageBox(0,0,"Cant get url",0); }

DM>                if (SUCCEEDED(WebBrowserIntf->GoBack()))
DM>                {
DM>                    MessageBox(0,0,"Im back",0);
DM>                } else { MessageBox(0,0,"Cant GoBack",0); }

DM>                if (SUCCEEDED(WebBrowserIntf->Navigate(bstrLocationURL,0,0,0,0)))
DM>                {
DM>                    MessageBox(0,0,"GoNext ok",0);
DM>                } else { MessageBox(0,0,"Cant gonext",0); }
DM>            }
DM>        }
DM>    }
    
DM>    OleUninitialize();
DM>    return 0;
DM>}

DM>


DM>Перехватываютсья все окна Ie, но спокойно делаеться GoBack, а вот Navigate делать уже не хочет

DM>в чем может быть проблема?

Наткнулся еще вот на статью... к сожалению автору письм оне дошло видмо мейл изменился
текст письма:

Здраствуйте, не давно наткнулся на вашу статью "Как подключиться к запущенным экземплярам Explorer'a" (http://rsdn.ru/article/qna/inet/enumexp.xml
Автор(ы): Тимофей Чадов
Дата: 14.03.2002
). Она очень меня заинтересовала, но вот возникла небоьшая проблемка:
CComQIPtr<IWebBrowser2> pIE( pDisp); // дело в том что мы тут хоть и получаем IWebBrowser2 в своей распоряжение

CComBSTR bsUrl(L"http://rsdn.ru/");
pIE->Navigate(bsUrl,0,0,0,0); //но не можем воспользоваться методом Navigate/Navigate2

Не могли бы вы мне подсказать в чем проблема?

Заранее спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.