


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SystemParametersInfo(SPI_SETDESKWALLPAPER,0,(void *)C:a.bmp,0); 但注意重启后会恢复成原来的桌面,想重启后还保留你设的桌面就要修改注册表中 HKEY_CURRENT_USERControl Paneldesktop中的Wallpaper子键。在vc中设置桌面墙纸作者:lixiaosan日期:09/21/2006前言:今天,csdn上一网友发贴问怎么实现设置桌面墙纸,并且使用的是jpg文件。虽然在下知道可以用API函数SystemParametersInfo可以设置bmp文件为墙纸也知道可以用IActiveDesktop来设置其他格式的图片文件作为墙纸,但是工作中一直没有使用到该功能,所以也就一直没实现。今天不是太忙,也就写写吧。顺便赚点分。(嘿嘿!嗜财如命的家伙!)1.用SystemParametersInfo设置墙纸很简单,一句话搞定:SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, C:/xxx.bmp, SPIF_SENDWININICHANGE| SPIF_UPDATEINIFILE);but, 这玩意儿只能用bmp文件,不能用其他文件,MS也不把函数功能扩展一下,BS一下MS。再but,这玩意儿也不能设置墙纸的样式,比如平铺,拉伸什么的,虽然可通过修改注册表修改,但是据那位网友说,需要重启才能生效什么的,我没有试,因为这篇文章的主要目的是讨论用IActiveDesktop设置墙纸。2.用IActiveDesktop设置墙纸习惯上用任何不太熟悉的函数或接口前,查msdn。通过msdn,了解到:IActiveDesktop是个windows shell interfaceHeader shlobj.hMinimum operating systems Windows 2000, Windows NT 4.0 with Internet Explorer 4.0, Windows 98, Windows 95 with Internet Explorer 4.0同时,在msdn还有一篇文章Using the Active Desktop Object/en-us/library/ms649721.aspx#accessing_the_active_desktop其实,看了这篇文章你就应该学会如何使用Active Desktop Object了。(1)使用IActiveDesktop需要包含的一些头文件,以及进行初始化在stdafx.h中#include #include /添加这个。注意顺序,顺序乱了也编译不过#include .用了com的东西,要进行初始化,不用说了吧。在CXXXApp:Initinstance中添加AfxOleInit();使用IActiveDesktop的cpp中#include (2) 现在开始写实现函数了还是我的老的测试工程CTest6Dlg.呵呵BOOL CTest6Dlg:SetWallPaper(CString strPath)HRESULT hr;IActiveDesktop* pIAD;hr = CoCreateInstance( CLSID_ActiveDesktop, NULL, CLSCTX_INPROC_SERVER,IID_IActiveDesktop, (void*)&pIAD);if ( !SUCCEEDED(hr) )return FALSE;/ 设置墙纸前先打开活动桌面开关COMPONENTSOPT co = 0;co.dwSize = sizeof(COMPONENTSOPT);co.fEnableComponents = TRUE;co.fActiveDesktop = TRUE;hr = pIAD-SetDesktopItemOptions(&co, 0);if ( !SUCCEEDED(hr) ) return FALSE;/做以下宽字符的转换是因为SetWallpaper的参数是用的LPCWSTRWCHAR wszPathMAX_PATH;LPTSTR lpStr = strPath.GetBuffer(strPath.GetLength();MultiByteToWideChar(CP_ACP, 0, lpStr, -1, wszPath, MAX_PATH);strPath.ReleaseBuffer();/ 设置墙纸hr = pIAD-SetWallpaper(wszPath, 0);if ( !SUCCEEDED(hr) )return FALSE;/ 设置墙纸风格WALLPAPEROPT wp = 0;wp.dwSize = sizeof(WALLPAPEROPT);wp.dwStyle |= WPSTYLE_CENTER;hr = pIAD-SetWallpaperOptions(&wp, 0);if ( !SUCCEEDED(hr) )return FALSE;/ 应用改变hr = pIAD-ApplyChanges(AD_APPLY_ALL);if
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 石嘴山市招标采购从业人员考试(招标采购专业实务初级)在线复习题库及答案(2025年)
- 河北招标采购从业人员专业技术能力考试(招标采购合同管理中级)全真题库及答案(2025年)
- 《红岩》整本书课件
- 教育扶贫项目合同-教育扶贫项目合同5篇
- 膝关节置换术配合护理
- 《礼记一则》课件
- 城中村拆迁办合同范本9篇
- 广东省深圳市龙华区2023-2024学年高一上学期第二次月考化学试卷及答案
- 广东省梅州市蕉岭县2023-2024学年高二上学期第二次月考历史考试题目及答案
- 公司放假期间安全培训课件
- 胸腔积液诊断的中国专家共识(2022版)解读
- 【高考地理】流水侵蚀地貌(公开课课件)
- 第六章泌尿生殖系统的检查教程
- 图说保额分红
- 生物地理学第2章生物群落课件
- 重离子、质子治疗前景与适应症-武汉
- 组织行为学(-)(英文版)课件
- 商务谈判(完整版)课件
- 小学数学教师新课标考试试题
- 小学数学北师大四年级上册五方向与位置四上《用数对确定位置》北师大版李雪梅PPT
- 步进电机控制系统课件
评论
0/150
提交评论