通过IActiveDesktop接口来实现
比如设置壁纸,就可以这样
IActiveDesktop *a;
CoInitialize(NULL);
if(SUCCEEDED(CoCreateInstance(Shlobj::CLSID_ActiveDesktop,NULL,CLSCTX_INPROC_SERVER,IID_IActiveDesktop,(void **)&a)))
{
WideString c = "C:\\My Documents\\yw2.jpg";
OleCheck(a->SetWallpaper(c.c_bstr(),0));
OleCheck(a->ApplyChanges(AD_APPLY_ALL));
a->Release();
}
CoUninitialize();
注意在cpp的第一行加入#define NO_WIN32_LEAN_AND_MEAN
并要#include <shlobj.h>
时间: 2024-10-29 10:37:47