如果可以。写详系点(有代码就好)
 谁的最好,解决时另外加送50:)

解决方案 »

  1.   

    在http://expert.csdn.net/Expert/topic/1704/1704687.xml?temp=.9005091
    up阿
      

  2.   

    取得桌面的HWND,再BEGINPAINT,再在HDCH 画。
      

  3.   

    这段程序可以给你参考,自已改进:
    void CDesktopDlg::OnButton1() 
    {
    CWindowDC dc(GetDesktopWindow()); 
    ShowPic("d:\\hello.gif",&dc);
    }void CDesktopDlg::ShowPic(char *filename, CDC *pDC)
    {
    IPicture *pPic; 
    IStream *pStm; CFileStatus fstatus; 
    CFile file; 
    LONG cb; if (file.Open(filename,CFile::modeRead)&&file.GetStatus(filename, 
    fstatus)&& 
    ((cb = fstatus.m_size) != -1)) 

    HGLOBAL hGlobal = GlobalAlloc(GMEM_MOVEABLE, cb); 
    LPVOID pvData = NULL; 
    if (hGlobal != NULL) 

    if ((pvData = GlobalLock(hGlobal)) != NULL) 

    file.ReadHuge(pvData, cb); 
    GlobalUnlock(hGlobal); 
    CreateStreamOnHGlobal(hGlobal, TRUE, &pStm); if(SUCCEEDED(OleLoadPicture(pStm,fstatus.m_size,TRUE,IID_IPicture,(LPVOID* 
    )&pPic))) 

    OLE_XSIZE_HIMETRIC hmWidth; 
    OLE_YSIZE_HIMETRIC hmHeight; pPic->get_Width(&hmWidth); 
    pPic->get_Height(&hmHeight); double fX,fY; 
    fX = (double)pDC->GetDeviceCaps(HORZRES)*(double)hmWidth/((double)pDC->GetDeviceCaps(HORZSIZE)*100.0); 
    fY = (double)pDC->GetDeviceCaps(VERTRES)*(double)hmHeight/((double)pDC->GetDeviceCaps(VERTSIZE)*100.0); 
    if(FAILED(pPic->Render(*pDC,0,0,(DWORD)fX,(DWORD)fY,0,hmHeight,hmWidth,-hmHeight,NULL))) 
    AfxMessageBox("Failed To Render The picture!"); 
    pPic->Release(); 

    else 
    AfxMessageBox("Error Loading Picture From Stream!"); 



    else 
    AfxMessageBox("Can't Open Image File!");
    }
      

  4.   

    可否用ActiveDesktop在桌面创建一个项目,类型是网页,网页内容是一个GIF?
      

  5.   

    prettywolf(多情自古空余恨,此恨绵绵无绝期) :这样做
    gif是不动的,好像只能是第一帧。就是不会有动画。要有动画,是不是要做ontimer呢?
    谢谢