RSS订阅 | 匿名投稿
您的位置:网站首页 > 系统 > 正文

delphi 如何在程序中动态设置墙纸(使用IActiveDesktop接口)

作者:admin 来源: 日期:2019/1/7 10:19:09 人气: 标签:

uses ShlObj, ComObj;

 

/// 用指定的方式改变墙纸

/// </summary>

/// <param name="strFile">墙纸图片文件</param>
/// <param name="style">样式</param>
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;

读完这篇文章后,您心情如何?
0
0
0
0
0
0
0
0
本文网址: