设置Windows墙纸

来源:互联网 发布:原生js获取兄弟节点 编辑:程序博客网 时间:2024/03/29 06:35

需引用ComObj, ShlObj单元

procedure SetActiveWallpaper(Filename: String);
var
  ADesk: IActiveDesktop;
  Pwpo: TWallpaperOpt;
  Wallpaper: WideString;
begin
  ADesk := CreateComObject(CLSID_ActiveDesktop) as IActiveDesktop;
  try
    //Pwpo.dwStyle := WPSTYLE_CENTER; //居中
    //Pwpo.dwStyle := WPSTYLE_TILE; {平铺}
    Pwpo.dwStyle := WPSTYLE_STRETCH; {拉伸}
    Pwpo.dwSize := sizeOf(Pwpo);
    ADesk.SetWallpaperOptions(Pwpo,0);
    Wallpaper := WideString(Filename);
    ADesk.SetWallpaper(PWideChar(Wallpaper), 0);
    ADesk.ApplyChanges(AD_APPLY_ALL);
  finally
    ADesk := nil
  end;
end; 

原创粉丝点击