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);
------------------------------------------------------------------------------