IWebBrowser2->Navigate проблема
От: DoesntMatter  
Дата: 17.11.07 14:54
Оценка:
#include <stdio.h>
#include <stdlib.h>
#include <exdisp.h>
#include <mshtml.h>

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

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

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

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


Перехватываютсья все окна Ie, но спокойно делаеться GoBack, а вот Navigate делать уже не хочет
в чем может быть проблема?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.