Bonjour,
J'aimerais savoir si il y a un autre moyen que d'utiliser FindWindow pour d'obtenir le handle de la boite de dialogue crée par la fonction ShowHTMLDialogEx.
Je voudrais aussi savoir comment changer et rafraichir la page HTML affichée.
Si vous avez des liens vers de la doc et des exemples ça m'intéresse aussi parce que je n'ai rien trouvé de pertinent à ce sujet sur MSDN.
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);
------------------------------------------------------------------------------