VC++ 设置桌面壁纸
Windows Shell API提供了接口IActiveDesktop来完成墙纸的设置。
//IActiveDesktop 接口方法表 (详情参见MSDN)
AddDesktopItem
AddDesktopItemWithUI
AddUrl
ApplyChange
GenerateDesktopItemHtml
GetDesktopItem
GetDesktopItemByID
GetDesktopItemBySource
GetDesktopItemCount
GetDesktopItemOptions
GetPattern
GetWallpaper
GetWallpaperOptions
ModifyDesktopItem
RemoveDesktopItem
SetDesktopItemOptions
SetPattern
SetWallpaper
SetWallpaperOptions
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
BOOL SetWallpaper(CString &strPicFile, DWORD dwStyle)
{ HRESULT hr = S_OK; IActiveDesktop* pIAD = NULL; //创建接口的实例 hr = CoCreateInstance(CLSID_ActiveDesktop, NULL, CLSCTX_INPROC_SERVER, IID_IActiveDesktop, (void**) &pIAD ); if (FAILED(hr)) { return FALSE; } //将文件名改为宽字符串,这是IActiveDesktop::SetWallpaper的要求 WCHAR wszWallpaper [MAX_PATH] = {0}; LPTSTR lpStr = strPicFile.GetBuffer(strPicFile.GetLength() ); MultiByteToWideChar(CP_ACP, 0, lpStr, -1, wszWallpaper, MAX_PATH); strPicFile.ReleaseBuffer(); //设置墙纸 hr = pIAD->SetWallpaper(wszWallpaper, 0); if (FAILED(hr)) { return FALSE; } //设置墙纸的样式 WALLPAPEROPT wpo; wpo.dwSize = sizeof(wpo); wpo.dwStyle = dwStyle; hr = pIAD->SetWallpaperOptions(&wpo, 0); if(!SUCCEEDED(hr)) { return FALSE; } //应用墙纸的设置 hr = pIAD->ApplyChanges(AD_APPLY_ALL); if(!SUCCEEDED(hr)) { return FALSE; } //读取墙纸的文件名并打印在debug窗口内 hr = pIAD->GetWallpaper(wszWallpaper, MAX_PATH, 0); CString strFile = wszWallpaper; TRACE(strFile); //释放接口的实例 pIAD->Release(); return TRUE; } BOOL EnableActiveDesktop(BOOL bEnable) |
Demo下载:http://pan.baidu.com/s/1bpjFyNX
VC++ 设置桌面壁纸相关推荐
- win7没有个性化如何把计算机放到桌面,win7系统家庭版右键没有个性化设置桌面壁纸...
很多朋友的电脑是win7系统家庭版的,想要给电脑桌面的壁纸更换,就会发现电脑右键没有个性化选项,那么如何把个性化选项给设置出来呢?其实很好解决,下面就由小编带你解决win7右键没有个性化设置桌面壁纸的 ...
- 计算机桌面图片怎么设置大小,怎么设置桌面壁纸大小
很多人都知道怎麽设置电脑桌面,可真正找到适合自己屏幕的可能很少,图片或大或小,小编为大家分享了设置桌面壁纸大小的方法,下面大家跟着小编一起来了解一下吧. 设置桌面壁纸大小方法 先查看自己电脑屏幕分辨率 ...
- C语言实现设置桌面壁纸
关键代码: SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "C:\\Users\\star-dream\\Pictures\\Saved Pic ...
- c++编程 设置桌面壁纸以及设置壁纸失效的解决办法
c++编程 设置桌面壁纸以及设置壁纸失效的解决办法 最近项目中需要一个小工具来设置桌面壁纸,于是想自己尝试用c++写一个. 刚开始,发现COM组件IActiveDesktop 可以设置壁纸.代码如下: ...
- C++ 设置桌面壁纸
定义一个函数来实现主要的功能: HRESULT SetDesktopWallpaper(PWSTR pszFile, WallpaperStyle style); WallpaperStyle是一个枚 ...
- vb.net 设置桌面壁纸
'修改桌面背景 Try '将MyFileName指定为一个图片文件的文件名 Dim MyFileName As String = Application.StartupPath & " ...
- Ubuntu20 设置桌面壁纸自动切换
最近电脑系统换成了ubuntu,想把桌面壁纸设置撑自动切换,搜了一下发现都是要修改cml文件的.最后终于找到一个不用修改的方法: 1.首先创建一个文件夹,里面存放下载的所有壁纸 2.打开shotwel ...
- windows 2019 server AD域统一设置桌面壁纸
1.首先任意一网络共享路径,我测试环境,就放在域控里面,并且注意,一定要设置能访问的权限,我这里设置Everyone,我的壁纸名叫paper.jpg 2.打开组策略 3.启用Active Deskto ...
- 代码设置桌面壁纸或者屏保
今天公司让弄一个把图片和视频设置为屏保和壁纸的功能,刚开始在网上找了很多资料 设置壁纸很好实现 一句话就可以了,这个可以参考这个人写的代码 图片视频设置为壁纸 但是实现设置锁屏屏保就不大好实现了,后来 ...
- 怎么把html设置桌面壁纸,win7系统怎么把桌面更换成自己喜欢的桌面背景?
win7系统有间隔一定时间自动更换桌面壁纸的功能,我们也可以在网上下载自己的喜欢的主题,里面自带了一些精美的桌面壁纸图片,有些时候我们可能会很喜欢一个电脑主题,但是不喜欢其中的桌面壁纸图片,这时,可以 ...
最新文章
- c# typescript_在任何IDE中从C#,Java或Python代码获取TypeScript接口的简单方法
- 人体识别_深度学习资讯 | 用于人体动作识别的26层卷积神经网络
- 【推荐】你必须知道的EF知识和经验
- JSTL的错误“attribute test does not accept any expressions”解决方法
- 02_MySQL约束课堂笔记
- asp代码转成php代码,轻松将简单的asp代码转换为php代码
- 适合草根站长的认证产品介绍
- 优缺点 快速扫描 硬盘监测_对手中SSD的性能做到心中有数,十款SSD测试软件介绍...
- 奥克兰计算机科学专业世界排名,2020年新西兰计算机科学专业大学排名
- 爱普生L4168喷墨打印机打印断线或堵头故障处理
- 【Rust日报】2021-12-15 - geoping 由 shodan 开发的多地 ping 工具
- 仿 IOS 打造一个全局通用的对话框
- 准Z源逆变器模型预测控制Simulink仿真
- 大班科学计算机的发明应用教案,大班科学:四大发明
- 【附源码】计算机毕业设计java在线音乐网站设计与实现
- 两个空间(N维欧氏空间、Lebesgue空间)的Holder不等式
- How to Use Matlab Publish Smartly
- 在python中replace是什么意思_python中replace的用法是什么?
- Vue实现active点击切换
- echarts导出excel报表