ディスクトップの表示は IShellDispatch4::ToggleDesktop を使用するのだけど

TypeLibに基づいたクラス精製で
class CShellDispatch4 : public COleDispatchDriver
CShellDispatch4::ToggleDesktop() も使えるらしい?
やりかたわからんがw

HRESULT CMainWnd::ToggleDesktop()
{
   IUnknown* instance = NULL;
   HRESULT result = S_OK;

   result = CoCreateInstance(
      CLSID_Shell, NULL, CLSCTX_INPROC_SERVER,
      IID_IUnknown, (void**)&instance);

   if (FAILED(result)) return result;

   IShellDispatch4* disp4 = NULL;
   result = instance->QueryInterface(
      IID_IShellDispatch4, (void**)&disp4);

   if (SUCCEEDED(result))
   {
      result = disp4->ToggleDesktop();
   }

   if (disp4) disp4->Release();
   if (instance) instance->Release();

   return result;
} 
CoInitialize(NULL); // COM

で初期化しないと使えないので注意