Вниз
Скачать: CL | DM;

Как сменить фон раб. стола (bmp), если включен ActiveDesktop?   Найти похожие ветки 

← →
Ал   (2003-04-17 09:27) [0]

SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, PChar("C:\SOMEPATH\SOME.BMP"),
SPIF_SENDWININICHANGE);
не катит! - так как меняет обои, но их под картинкой ActiveDesktop не видно (пока вручную не выключить ActiveDesktop).


← →
c00ler   (2003-04-18 23:19) [1]

unit Active;

interface

uses windows,ComObj,ShlObj,Classes,SysUtils;

procedure GetInfo(Var CW,Style:string);
Procedure SetWall(S,Style:string);

implementation

const
CLSID_ActiveDesktop: TGUID = "{75048700-EF1F-11D0-9888-006097DEACF9}";


procedure GetInfo(Var CW,Style:string);
var
Ad:IActiveDesktop;
Opt:TWallPaperOpt;
Buf:PWideCHar;
begin

Ad:= CreateComObject(CLSID_ActiveDesktop) as IActiveDesktop;
Buf:= AllocMem(MAX_PATH*2);
try
AD.GetWallpaper(Buf, MAX_PATH*2, 0);
CW := Buf;
finally
FreeMem(Buf);
end;
opt.dwSize:=sizeof(opt);
ad.getwallpaperoptions(opt,0);

case Opt.dwStyle of
WPSTYLE_CENTER: Style := "Centered";
WPSTYLE_TILE: Style := "Tiled";
WPSTYLE_STRETCH: Style := "Stretched";
WPSTYLE_MAX: Style := "Maxed";
end;

end;


Procedure SetWall(S,Style:string);
Var AD:IActiveDesktop;
WidePath:PWideChar;
Opt:TWallPaperOpt;
Begin
Ad:= CreateComObject(CLSID_ActiveDesktop) as IActiveDesktop;
opt.dwSize:=999999999;

if style=
"Centered" then Opt.dwStyle :=WPSTYLE_CENTER else
if style=
"Tiled" then Opt.dwStyle :=WPSTYLE_TILE else
if style=
"Stretched"then Opt.dwStyle :=WPSTYLE_STRETCH else
if style=
"Maxed" then Opt.DwStyle:=WPSTYLE_MAX;


GetMem(WidePath,255);
WidePath:=StringToWideChar(s,WidePath,255);
Ad.SetWallPaper(WidePath,0);
Ad.ApplyChanges(AD_APPLY_ALL or AD_APPLY_FORCE);
Freemem(WidePath);
opt.dwstyle:=wpstyle_center;
Ad.SetWallPaperOptions(Opt,1);
end;






end.
//setwall("c:\wp.bmp",centered)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.02 c
3-83974
Жук
2003-05-29 11:49
2003.06.26
Select из ХП и таблицы в одном запросе


8-84465
arcad
2003-03-15 11:51
2003.06.26
Два avi клипа в один.


1-84350
Leran2002
2003-06-16 09:59
2003.06.26
Как программно скопировать файлы в Clipboard???


14-84573
tahion2
2003-06-07 07:28
2003.06.26
Программа для пересылки сообщений и файлов по локальной сети


14-84536
Yakudza
2003-06-06 13:24
2003.06.26
Изгнание беса и лягушек




   Наверх