CoCreateInstance IID_IWebBrowserApp

Тема в разделе "WASM.WIN32", создана пользователем saldatd, 2 июн 2009.

  1. saldatd

    saldatd New Member

    Публикаций:
    0
    Регистрация:
    28 сен 2008
    Сообщения:
    10
    Создаю объект
    Код (Text):
    1.     if( FAILED(hr=CoCreateInstance(
    2.             CLSID_InternetExplorer,
    3.             NULL,
    4.             CLSCTX_SERVER,
    5.             IID_IWebBrowserApp,
    6.             (LPVOID*)&pWBApp)) )
    7.     {
    8.         goto Error;
    9.     }
    как сделать так, чтобы окно експлорера было невидимым.
    Спасибо.
     
  2. PaCHER

    PaCHER New Member

    Публикаций:
    0
    Регистрация:
    25 мар 2006
    Сообщения:
    852
    lea ecx, [Browser];: [out] указатель на интерфейс, который запрашивается. Если интерфейс не поддерживается, значение переменной будет приравнено 0.
    push ecx ;
    push riid ; riid
    push CLSCTX_LOCAL_SERVER; dwClsContext
    push 0 ; pUnkOuter
    push rclsid ; rclsid
    call [CoCreateInstance]; clsid:{0002DF01-0000-0000-C000-000000000046}
    ; riid :{D30C1661-CDAF-11D0-8A3E-00C04FC9E26E} - IWebBrowser2
    ;с помощью API CoCreateInstance попросим систему создать для нас объект, который предоставит интерфейсы для управления движком VBScript
    ;В случае успешного заверешения вызова CoCreateInstance в ppv_COM будет помещен указатель на интерфейс IWebBrowser2, который мы запросили, указав GUID
    ;Return:
    ; ;S_OK
    ; ; An instance of the specified object class was successfully created.
    ; ;REGDB_E_CLASSNOTREG
    ; ; A specified class is not registered in the registration database. Also can indicate that the type of server you requested in the CLSCTX enumeration is not registered or the values for the server types in the registry are corrupt.
    ; ;CLASS_E_NOAGGREGATION
    ; ; This class cannot be created as part of an aggregate.
    ; ;E_NOINTERFACE
    ; ; The specified class does not implement the requested interface, or the controlling IUnknown does not expose the requested interface.

    mov d_w_p[result_CCInic], eax
    cmp d_w_p[Browser], 0 ; если не получили интерфейса
    jz ex_f ;полный выход

    cominvk Browser,IWebBrowser2_Visible_put,1;задать параметры окну осла (если 0 то окно невидемое)
     
  3. PaCHER

    PaCHER New Member

    Публикаций:
    0
    Регистрация:
    25 мар 2006
    Сообщения:
    852
    если короче, то вызвать метод IWebBrowser2_Visible_put и передать туды 0ль.
     
  4. Senitor

    Senitor New Member

    Публикаций:
    0
    Регистрация:
    3 июн 2009
    Сообщения:
    1
    подскажите, а как взять полученные от сервера данные?

    Спасибо.