Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];

Вниз

Как сменить фон раб. стола (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.024 c
14-84560
Начинающий шароварщик
2003-05-28 16:55
2003.06.26
Shareware - за и против


3-84034
st-av
2003-05-31 18:13
2003.06.26
DBGrid и форматированный ввод


1-84110
mao
2003-06-10 17:06
2003.06.26
Помогите свернуть форму


14-84679
Soft
2003-06-10 17:00
2003.06.26
Мысли о мышлении программистов


1-84148
Comp
2003-06-11 12:40
2003.06.26
Как прокручивать часть формы её собственными полосами прокрутки?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский