vc更改桌面背景

vc更改桌面背景

ID:32367185

大小:52.41 KB

页数:3页

时间:2019-02-03

vc更改桌面背景_第1页
vc更改桌面背景_第2页
vc更改桌面背景_第3页
资源描述:

《vc更改桌面背景》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、更改桌面背景使用IactiveDesktop对象更改Windows系统桌面背景。第一步在需要使用IActiveDesktop程序所在的C++文件中加入头文件#include第二步在StdAfx.h中插入#include位置不能搞错,否则IActiveDesktop将找不到定义#include//MFCcoreandstandardcomponents#include//正确位置#include//MFCex

2、tensions第三步创建基于对话框的VC程序yanggung,在对话框上添加按钮,添加按钮响应函数CFileDialogdlg(true,NULL,NULL,OFN_HIDEREADONLY

3、OFN_OVERWRITEPROMPT,_T("图片(*.bmp;*.jpg;*.jpeg)

4、*.bmp;*.jpg;*.jpeg

5、

6、"),this);dlg.m_ofn.lStructSize=88;if(dlg.DoModal()==IDOK){CStringstr;str=dlg.GetPathName();if

7、(SetWallpaper(str,2)){AfxMessageBox(_T("更改桌面成功!"));}}为程序添加成员函数SetWallpaperboolCYangguangDlg::SetWallpaper(CString&strPicFile,DWORDdwStyle){HRESULThr;IActiveDesktop*pIAD;//创建接口的实例CoInitialize(NULL);hr=CoCreateInstance(CLSID_ActiveDesktop,NULL,CLSCTX_INPROC_S

8、ERVER,IID_IActiveDesktop,(void**)&pIAD);if(!SUCCEEDED(hr)){returnfalse;}//将文件名改为宽字符串,这是IActiveDesktop::SetWallpaper的要求WCHARwszWallpaper[MAX_PATH];LPTSTRlpStr=strPicFile.GetBuffer(strPicFile.GetLength());MultiByteToWideChar(CP_ACP,0,lpStr,-1,wszWallpaper,MAX

9、_PATH);strPicFile.ReleaseBuffer();//设置墙纸hr=pIAD->SetWallpaper(wszWallpaper,0);if(!SUCCEEDED(hr)){returnfalse;}//设置墙纸的样式WALLPAPEROPTwpo;wpo.dwSize=sizeof(wpo);wpo.dwStyle=dwStyle;hr=pIAD->SetWallpaperOptions(&wpo,0);if(!SUCCEEDED(hr)){returnfalse;}//应用墙纸的设置h

10、r=pIAD->ApplyChanges(AD_APPLY_ALL);if(!SUCCEEDED(hr)){returnfalse;}//释放接口的实例pIAD->Release();CoUninitialize();returntrue;}//strPicFile是图像文件名,支持BMPJPEGGIF等格式//dwStyle是墙纸的样式//WPSTYLE_CENTER居中0//WPSTYLE_TILE平铺1//WPSTYLE_STRETCH拉伸2//WPSTYLE_MAX3

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。