导航

<2005年1月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
303112345

随笔分类

随笔档案

文章档案

相册

打开 stdafx.h 文件,找到 #include <afxdisp.h>
在这行的前面一行插入 include #include <wininet.h>
在需要调用的CPP文件中:
 #include <atlbase.h>
 #include <shlguid.h>
 #include <shlobj.h>
 #include <comdef.h>
::CoInitialize(NULL);
IActiveDesktop *pDesk=NULL;
HRESULT hr = ::CoCreateInstance(CLSID_ActiveDesktop,NULL,CLSCTX_INPROC_SERVER,
                IID_IActiveDesktop,(LPVOID *)&pDesk);
ASSERT(SUCCEEDED(hr));

WCHAR path[MAX_PATH];
hr=pDesk->GetWallpaper(path,sizeof(path),0); //取得壁纸文件名
//设置壁纸文件是: SetWallpaper(LPCWSTR pwszWallpaper,DWORD dwReserved);
ASSERT(SUCCEEDED(hr));

CString s(path);
AfxMessageBox(s);

if(pDesk)  pDesk->Release();
::CoUninitialize();
posted on 2005-01-15 14:12 杨老师的茅屋 阅读(1160) 评论(2)  编辑 收藏
评论
  • # re: 如何在程序中,取得/设置 桌面的壁纸
    gjjcc
    Posted @ 2005-01-16 23:41
    这真是个好地方,又能东西,哈!!!!
  • # 还有一个API函数也可实现的
    学生
    Posted @ 2005-01-20 04:54
    还有一个API函数也可实现的
标题  
姓名  
主页
验证码 *
内容   
  登录  使用高级评论  Top
[使用Ctrl+Enter键可以直接提交]

统计