Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.26;
Скачать: 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 вся ветка

Текущий архив: 2003.06.26;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.027 c
14-84532
Кулюкин Олег
2003-06-05 10:23
2003.06.26
Поругайте Software Activation Service от WebMoney


1-84361
Chlavik
2003-06-16 17:02
2003.06.26
Как мне поступить ? (классы)


6-84493
LOX
2003-04-20 19:49
2003.06.26
Код компонента TserverSocket


1-84312
oleg_SYS
2003-06-08 22:03
2003.06.26
Как конвейтировать TBitMap в TIcon?


8-84456
Zakus
2003-01-14 17:12
2003.06.26
TImage - Чтобы не мелькал