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