CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

如何设置桌面背景图(可再加分)

楼主kane(城里人)2003-06-03 19:51:41 在 VC/MFC / 基础类 提问

请问有没有api可以设置桌面背景图  
  有例子更好 问题点数:20、回复次数:15Top

1 楼BinaryPoet(二进制诗人)回复于 2003-06-03 20:31:43 得分 5

SystemParameterInfo()Top

2 楼ukyoking(累)回复于 2003-06-03 20:48:14 得分 5

把桌面图片设为   c:\windows\setup.bmp  
   
  ::SystemParametersInfo(SPI_SETDESKWALLPAPER,   0,   "c:\windows\setup.bmp",   SPIF_UPDATEINIFILE)  
  Top

3 楼commandos(孤独求胜)回复于 2003-06-03 22:24:25 得分 0

学习。Top

4 楼kane(城里人)回复于 2003-06-04 09:53:11 得分 0

试试就来Top

5 楼kane(城里人)回复于 2003-06-04 10:37:24 得分 0

如果我用的图片格式是jpg的话就不行,怎么办Top

6 楼tangwei168()回复于 2003-06-04 10:48:25 得分 5

::SystemParametersInfo(SPI_SETDESKWALLPAPER,   0,   "c:\windows\setup.bmp",   SPIF_UPDATEINIFILE)  
  Top

7 楼ukyoking(累)回复于 2003-06-04 11:17:14 得分 0

用jpg那得使用活动桌面Top

8 楼kane(城里人)回复于 2003-06-04 11:20:30 得分 0

有两个问题:  
  1.执行::SystemParametersInfo(SPI_SETDESKWALLPAPER,   0,   "c:\windows\setup.bmp",   SPIF_UPDATEINIFILE)语句后,但桌面图片不会更新  
  2.如果图片格式是jpg、gif。SystemParametersInfo返回值falseTop

9 楼kane(城里人)回复于 2003-06-04 11:51:06 得分 0

如何用活动桌面Top

10 楼TheBigNose()回复于 2003-06-04 12:18:11 得分 0

第一个问题  
  SystemParametersInfo(SPI_SETDESKWALLPAPER,   0,   "C:\\test.bmp",   SPIF_UPDATEINIFILE   |   SPIF_SENDCHANGE);Top

11 楼kane(城里人)回复于 2003-06-04 13:24:16 得分 0

文件名是不是只能用绝对路径,我用相对路径无法正常显示Top

12 楼TheBigNose()回复于 2003-06-04 13:50:48 得分 0

是的Top

13 楼fvv(守护者)回复于 2003-06-04 15:00:18 得分 5

在button处理函数写下列代码  
   
  CMYDLG::OnSetWall()  
  {  
      CFileDialog   openBmp(TRUE,NULLNULL,OFN_HIDEREADONLY,"Bitmap   Files(*.bmp)|*.bmp||",NULL);  
     
  if(openBmp.DoModal()==IDOK)  
  {  
    CString   fullName;  
    fullName=openBmp.GetPathName();  
    SystemParametersInfo(SPI_SETDESKWALLPAPER,0,(void   *)(LPCTSTR)fullName,0);  
  }  
   
  }Top

14 楼kane(城里人)回复于 2003-06-04 15:10:28 得分 0

问题1解决了  
   
  用gif、jpg文件做桌面要使用活动桌面,怎么做?Top

15 楼ukyoking(累)回复于 2003-06-05 20:09:22 得分 0

#include   <wininet.h>  
  #include   <shlobj.h>  
   
  IActiveDesktop   *pActiveDesktop;  
   
  HRESULT   hr;  
  CoInitialize(NULL);  
   
  hr   =   CoCreateInstance(CLSID_ActiveDesktop,  
  NULL,  
  CLSCTX_INPROC_SERVER,  
  IID_IActiveDesktop,  
  (void**)&pActiveDesktop);  
   
  COMPONENTSOPT   comps;  
  comps.dwSize   =   sizeof   comps;  
  comps.fEnableComponents   =   TRUE;  
  comps.fActiveDesktop   =   TRUE;  
   
  pActiveDesktop->SetDesktopItemOptions(&comps,0);  
   
  if   (FAILED(pActiveDesktop->SetWallpaper(L"G:\\Favorites\\MyPicture\\36506.jpg",0)))  
  return;  
   
  pActiveDesktop->ApplyChanges(AD_APPLY_ALL|AD_APPLY_FORCE);  
   
  pActiveDesktop->Release();  
  CoUninitialize();Top

相关问题

  • 如何设置桌面背景为web页面?
  • 如何获取和设置windows桌面的背景颜色?
  • 如何设置桌面的分辨率?
  • 如何设置LINUX桌面分辨率?
  • 高分求教如何设置桌面
  • 急求助(window编程)设置窗体背景及联想到桌面图像截取
  • 问一个菜鸟级问题:如何在程序中设置桌面背景图片?
  • 桌面背景总变
  • 桌面该如何设置?
  • 设置桌面图片?

关键词

  • 桌面
  • null
  • pactivedesktop
  • setdeskwallpaper
  • systemparametersinfo
  • spif
  • updateinifile
  • openbmp
  • spi
  • bmp

得分解答快速导航

  • 帖主:kane
  • BinaryPoet
  • ukyoking
  • tangwei168
  • fvv

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo