我想用CFileDialog 获得 以图片的路径替换 
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0,_T(c:\\008.bmp),0);中的 
_T(c:\\008.bmp) 具体该怎么写? 怎样获得绝对路径?

解决方案 »

  1.   

    CFileDialog cf(...省略...)
    if(IDOK==cf.DoM...忘记了)
    {
        CString strPathname=cf.GetPathName();
    }
      

  2.   


    CFileDialog cf(...省略...) 
    if(IDOK==cf.DoM...忘记了) 

        CString strPathname=cf.GetPathName(); 
        SystemParametersInfo(SPI_SETDESKWALLPAPER, 0,strPathname,0);
    }
    这样写我试过了报错 是
     error C2664: “SystemParametersInfoW”: 不能将参数 3 从“CString”转换为“PVOID”
    使用的是vc2008 另外 strPathname 的值是 c:\008.bmp 我想要 c:\\008.bmp
      

  3.   

    CFileDialog FileDialog(FALSE, "bmp", NULL, NULL, 
            "Group Files (*.bmp)|", this);
        if (FileDialog.DoModal() == IDCANCEL)
            return ;
        //得到路径
        CString strFilePath = FileDialog.GetPathName();
      

  4.   

    SystemParametersInfo(SPI_SETDESKWALLPAPER, 0,_T((void*)LPCTSTR(strFilePath)),0);
      

  5.   

    那就这样
    我想用CFileDialog 获得 以图片的路径替换 
    SystemParametersInfo(SPI_SETDESKWALLPAPER, 0,_T("c:\\008.bmp"),0);
      

  6.   

    谢谢  yuhudie203  解决了