Главная страница
    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.45 MB
Время: 0.041 c
11-84050
ZZ
2002-06-27 19:04
2003.06.26
KOL и Unicode


6-84472
Arkara
2003-04-07 04:44
2003.06.26
Закрытие порта - проблемы с TDialUp


1-84370
kasper
2003-06-16 14:41
2003.06.26
Как вставить строку в файл!!!!!!!!


3-84032
Инна
2003-06-01 01:55
2003.06.26
FastReport


14-84730
SpoinT
2003-06-05 15:33
2003.06.26
Как изменить заголовок файла exe





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский