about.cpp
Upload User: xhy777
Upload Date: 2007-02-14
Package Size: 24088k
Code Size: 2k
Category:

Windows Kernel

Development Platform:

Visual C++

  1. #include "priv.h"
  2. #include <mluisupp.h>
  3. //
  4. //  The about box is now an HTML dialog. It is sent a ~ (tilde) 
  5. //  delimited BSTR that has, in this order, version number, 
  6. //  person software is licensed to, company software is licensed to, and 
  7. //  whether 40, 56, or 128 bit ie is installed.
  8. //
  9. STDAPI_(void) IEAboutBox( HWND hWnd )
  10. {
  11.     TCHAR szInfo[512 + INTERNET_MAX_URL_LENGTH];  // potential for IEAK specific URL from 
  12.                                                   // SHAboutInfo
  13.     szInfo[0] = 0;
  14.     SHAboutInfo(szInfo, ARRAYSIZE(szInfo));     // from shlwapi
  15.     BSTR bstrVal = SysAllocStringT(szInfo);
  16.     if (bstrVal)
  17.     {
  18.         TCHAR   szResURL[MAX_URL_STRING];
  19.         HRESULT hr;
  20.         hr = MLBuildResURLWrap(TEXT("shdoclc.dll"),
  21.                                HINST_THISDLL,
  22.                                ML_CROSSCODEPAGE,
  23.                                TEXT("about.dlg"),
  24.                                szResURL,
  25.                                ARRAYSIZE(szResURL),
  26.                                TEXT("shdocvw.dll"));
  27.         if (SUCCEEDED(hr))
  28.         {
  29.             VARIANT var = {0};      // variant containing version and user info
  30.             var.vt = VT_BSTR;
  31.             var.bstrVal = bstrVal;
  32.             IMoniker *pmk;
  33.             if (SUCCEEDED(CreateURLMoniker(NULL, szResURL, &pmk)))
  34.             {
  35.                 ShowHTMLDialog(hWnd, pmk, &var, L"help: no", NULL);
  36.                 pmk->Release();
  37.             }
  38.             SysFreeString(bstrVal);
  39.         }
  40.     }
  41. }