HICON icon;
已知icon有效,不为NULL,怎样把图标保存到.ico文件中?谢谢各位,帮下忙?

解决方案 »

  1.   

    HICON hicon;
    use OleCreatePictureIndirect to get IPicture*then 
    Figure 8   Saving an Image to a Stream void SaveThePicture(IUnknown* pUnk)
     {
     IPicture* pPicture = 0;
     
         HRESULT hr = pUnk->QueryInterface(&pPicture);
     
         if(SUCCEEDED(hr))
         {
             IStorage* pStg = 0;
     
             hr = ::StgCreateDocfile(L"c:\\picttest", 
                  STGM_SHARE_EXCLUSIVE | 
                  STGM_CREATE | 
                  STGM_READWRITE, 
                  0, &pStg);
             if(SUCCEEDED(hr))
             {
                 IStream* pStream = 0;
         
                 hr = pStg->CreateStream(L"PICTURE", 
                      STGM_SHARE_EXCLUSIVE | 
                      STGM_CREATE | 
                      STGM_READWRITE, 
                      0, 0, &pStream);
                 if(SUCCEEDED(hr))
                 {
                     hr = pPicture->SaveAsFile(pStream, 
                          TRUE, // save mem copy
                          NULL);
                     pStream->Release();
                 }
                 pStg->Release();
             }
             pPicture->Release();
         }
     }