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


本文整理自网络,侵删。

 

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;

相关阅读 >>

Delphi 获取临时文件夹路径

Delphi xe 10.2.1 fmx平台 在图片上写字方法

Delphi 窗体不可用

Delphi opendialog1 添加文件打开多选模式

Delphi listview 设置固定列宽

Delphi unigui 获取当前ip

Delphi 图像翻转

Delphi idhttp最简洁的修改和取得cookie例子

Delphi 数据库获取所有用户名

Delphi mscomm简单的中间pc串口数据中转

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...