資源描述:
《vc更改桌面背景》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、更改桌面背景使用IactiveDesktop對(duì)象更改Windows系統(tǒng)桌面背景。第一步在需要使用IActiveDesktop程序所在的C++文件中加入頭文件#include第二步在StdAfx.h中插入#include位置不能搞錯(cuò),否則IActiveDesktop將找不到定義#include//MFCcoreandstandardcomponents#include//正確位置#include//MFCex
2、tensions第三步創(chuàng)建基于對(duì)話框的VC程序yanggung,在對(duì)話框上添加按鈕,添加按鈕響應(yīng)函數(shù)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("更改桌面成功!"));}}為程序添加成員函數(shù)SetWallpaperboolCYangguangDlg::SetWallpaper(CString&strPicFile,DWORDdwStyle){HRESULThr;IActiveDesktop*pIAD;//創(chuàng)建接口的實(shí)例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();//設(shè)置墻紙hr=pIAD->SetWallpaper(wszWallpaper,0);if(!SUCCEEDED(hr)){returnfalse;}//設(shè)置墻紙的樣式WALLPAPEROPTwpo;wpo.dwSize=sizeof(wpo);wpo.dwStyle=dwStyle;hr=pIAD->SetWallpaperOptions(&wpo,0);if(!SUCCEEDED(hr)){returnfalse;}//應(yīng)用墻紙的設(shè)置h
10、r=pIAD->ApplyChanges(AD_APPLY_ALL);if(!SUCCEEDED(hr)){returnfalse;}//釋放接口的實(shí)例pIAD->Release();CoUninitialize();returntrue;}//strPicFile是圖像文件名,支持BMPJPEGGIF等格式//dwStyle是墻紙的樣式//WPSTYLE_CENTER居中0//WPSTYLE_TILE平鋪1//WPSTYLE_STRETCH拉伸2//WPSTYLE_MAX3