Manipuler pointeur vers IHTMLWindow2

Résolu
HeavenForsaker Messages postés 223 Date d'inscription mercredi 13 juillet 2005 Statut Membre Dernière intervention 8 août 2011 - 2 juin 2009 à 13:19
HeavenForsaker Messages postés 223 Date d'inscription mercredi 13 juillet 2005 Statut Membre Dernière intervention 8 août 2011 - 2 juin 2009 à 18:13
Bonjour,

Je cherche à manipuler un pointeur vers l'interface IHTMLWindow2 en Win32 (sans MFC etc):
http://msdn.microsoft.com/en-us/library/aa741505.aspx

Par exemple, pour redimensionner la fenêtre, il faut apparemment utiliser la fonction resizeTo(x, y), mais comment l'appeler à partir du pointeur IHTMLWindow2 ?

Voici le code permettant d'obtenir le pointeur vers l'interface IHTMLWindow2:
------------------------------------------------------------------------------
    IHTMLWindow2* pHTMLWindow = 0;

    HINSTANCE hinstMSHTML = LoadLibrary(_TEXT("MSHTML.DLL"));
    if (hinstMSHTML == NULL)
       return;

    SHOWHTMLDIALOGEXFN* pfnShowModelessHTMLDialog;
    pfnShowModelessHTMLDialog = (SHOWHTMLDIALOGEXFN*)GetProcAddress(hinstMSHTML, "ShowHTMLDialogEx");
    if (pfnShowModelessHTMLDialog)
    {
        IMoniker *pURLMoniker;
        BSTR bstrURL = SysAllocString(L"C:\\doc.html");
        CreateURLMoniker(NULL, bstrURL, &pURLMoniker);
        if (pURLMoniker)
        {
            VARIANT varArgOut;
            HRESULT hres = (*pfnShowModelessHTMLDialog)(hParent, pURLMoniker, HTMLDLG_MODELESS, NULL, NULL, &varArgOut);
            if (hres == S_OK)
                pHTMLWindow = (IHTMLWindow2*)varArgOut.punkVal;

            pURLMoniker->Release();
        }

        if (bstrURL)
            SysFreeString(bstrURL);
    }

    FreeLibrary(hinstMSHTML);
------------------------------------------------------------------------------

2 réponses

fregolo52 Messages postés 1115 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 3
2 juin 2009 à 17:05
euh ...
pHTMLWindow->resizeTo( 100,100); ca ne marche pas ?
3
HeavenForsaker Messages postés 223 Date d'inscription mercredi 13 juillet 2005 Statut Membre Dernière intervention 8 août 2011
2 juin 2009 à 18:13
J'avais déjà tenté ça, mais j'avais eu une erreur, je viens de m'apercevoir que l'erreur venait de l'include mshtml.h manquant (le noob...), maintenant ça fonctionne !

Merci à toi !
0