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

我想写程序设置自己的桌面,一定要将在程序中实现jpg到bmp的转换么?

楼主joey123()2006-06-02 12:22:57 在 VC/MFC / 图形处理/算法 提问

windows下的api似乎只支持将一个bmp文件设置为桌面壁纸,  
  事实上windows自己将jpg文件设置为桌面的时候也是先将jpg转换为bmp后实现的  
   
  难到我的程序中必须要将jpg转换为bmp么?看了网上的好多页面,有很多实现的方法,但都用到GDI+  
  或者COM,或者一些其他我不懂甚至没听过的概念,我只想写一个小程序而已,不想要什么DLL文件。  
   
  可以实现么?就在VC里用SDK编程 问题点数:20、回复次数:6Top

1 楼atiansk2006(到中流击水, 浪遏飞舟)回复于 2006-06-02 12:54:52 得分 0

对于这个问题不是太了解,帮楼主顶一下.Top

2 楼haolix(獾猪搂主)回复于 2006-06-02 13:35:14 得分 0

有直接设置桌面的com接口,不是你是不是想用Top

3 楼booklove(纳海行云)回复于 2006-06-02 16:07:12 得分 0

jpg的解码是很复杂的  
  GDI+或者COM或者是FreeImage什么的用起来还是比较方便的  
  好像没有再简单的方法了Top

4 楼joey123()回复于 2006-06-02 16:51:01 得分 0

设置桌面壁纸的软件不是很多么?难道这些软件都用到很高的技术含量么?Top

5 楼ilikework(louhua)回复于 2006-06-07 17:16:53 得分 0

这个控件在2000/xp下能用。(2000的话,service   pack包打得全一点)  
  IActiveDesktop   *pActiveDesktop   =   NULL;  
   
  //Create   an   instance   of   the   Active   Desktop  
  hr   =   CoCreateInstance(CLSID_ActiveDesktop,   NULL,   CLSCTX_INPROC_SERVER,  
  IID_IActiveDesktop,   (void**)&pActiveDesktop);  
   
  //Insert   code   to   call   the   IActiveDesktop   methods  
  if(SUCCEEDED(hr))  
  {  
  COMPONENTSOPT   compOptions;  
   
  compOptions.dwSize   =   sizeof(COMPONENTSOPT);  
  compOptions.fActiveDesktop   =   TRUE;  
  compOptions.fEnableComponents   =   TRUE;  
   
  pActiveDesktop->SetDesktopItemOptions(&compOptions,   0);  
   
  BSTR   bstr   =   strPath.AllocSysString();  
  WALLPAPEROPT   wpopt;  
  wpopt.dwSize   =   sizeof(WALLPAPEROPT);  
  wpopt.dwStyle   =   WPSTYLE_CENTER|WPSTYLE_STRETCH;  
  pActiveDesktop->SetWallpaper(bstr,0);  
  pActiveDesktop->SetWallpaperOptions(&wpopt,0);  
  pActiveDesktop->ApplyChanges(AD_APPLY_ALL);  
  ::SysFreeString(bstr);  
  //   Call   the   Release   method  
  pActiveDesktop->Release();  
  bRet   =   TRUE;  
  }  
  else  
  {  
  //CString   str;  
  //str.Format("CoCreateInstance   error   =   %X",hr);  
  //AfxMessageBox(str);  
  }  
  Top

6 楼CUG122032(烫烫烫烫烫烫?烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫?烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫)回复于 2006-06-08 12:03:13 得分 0

http://blog.csdn.net/CUG122032Top

相关问题

关键词

得分解答快速导航

  • 帖主:joey123

相关链接

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

广告也精彩

反馈

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