通過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>