我根据VCKBASE上的例程来做些实验.
http://www.vckbase.com/document/viewdoc.asp?id=218
结果正常,但我想让程序实现可以设定文件作为桌面不可.为何?
代码如下:
void  Set(CString picstrFilename) 
{
   WALLPAPEROPT Wallpaperopt;
   unsigned short l_usFilename[MAX_PATH];

   for(int i = 0 ; i < picstrFilename.GetLength(); i++)
   {
     l_usFilename[i] = picstrFilename.GetAt(i);
   }
   l_usFilename[i] = 0;

   Wallpaperopt.dwSize = sizeof(Wallpaperopt);
   Wallpaperopt.dwStyle = WPSTYLE_CENTER;
   if(m_pIActiveDesktop->SetWallpaperOptions(&Wallpaperopt,0) == S_OK)
AfxMessageBox("SetWallpaperOptions  OK");
   if(m_pIActiveDesktop->SetWallpaper(l_usFilename,0) == S_OK)
AfxMessageBox("SetWallpaper   OK");
}结果证明是是弹出两个对话框的,说明返回的结果是对的呀.但事实上桌面并未改变.谢谢!