- 人气:
- 放大
- 缩小
- 二维码
- 赞赏
delphi 如何在程序中动态设置墙纸(使用IActiveDesktop接口)
uses ShlObj, ComObj;
/// 用指定的方式改变墙纸
///
///
墙纸图片文件
///
样式
procedure TfrmPara.SetWallPaper(strFile: string; style: Integer);
var
dt : IActiveDesktop;
wpo : TWallPaperOpt;
ws : WideString;
begin
dt := CreateComObject(CLSID_ActiveDesktop) as IActiveDesktop;
ws := strFile;
case style of
0 : wpo.dwStyle := WPSTYLE_CENTER; //居中
1 : wpo.dwStyle := WPSTYLE_TILE; //平铺
2 : wpo.dwStyle := WPSTYLE_STRETCH; //拉伸
3 : wpo.dwStyle := WPSTYLE_MAX; //
else
wpo.dwStyle := WPSTYLE_CENTER;
end;
wpo.dwSize := SizeOf(wpo);
dt.SetWallpaperOptions(wpo, 0);
dt.SetWallpaper(PWideChar(ws), 0);
dt.ApplyChanges(AD_APPLY_ALL);
end;