Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.12;
Скачать: CL | DM;

Вниз

Как программно отобразить рабочий стол как Web страницу   Найти похожие ветки 

 
Freeze   (2002-07-31 08:36) [0]

Пробовал заменить обои 4 способами не получается. Help me!!! Ни один из этих способов не пашет. Один получился, но он пашет только тогда, когда рабочий стол отображен как web страница.


 
Destroyer ©   (2002-07-31 08:49) [1]

Если ActiveDesctop, то

Application.Initialize;
ActiveDesktop:=CreateComObject(CLSID_ActiveDesktop) as IActiveDesktop;
ActiveDesktop.ApplyChanges(AD_APPLY_ALL or AD_APPLY_FORCE);


где
const CLSID_ActiveDesktop: TGUID = "{75048700-EF1F-11D0-9888-006097DEACF9}";
var ActiveDesktop: IActiveDesktop;


 
Destroyer ©   (2002-07-31 08:52) [2]

Это чтоб сразу применились обои, а вообще надо в ключ
\Control Panel\Desktop реестра в строковую переменную Wallpaper закатать путь до bmp-файла обоев


 
Пастор   (2002-07-31 11:00) [3]

Для этого совсем не обязательно использовать ActiveDesktop

procedure TFormImage.BitBtnClick(Sender: TObject);
var
Reg : TRegIniFile;
const
Stretch : bool = True ;
Tile : bool = False;
begin
Reg := TRegIniFile.Create;
Reg.RootKey := HKEY_CURRENT_USER;
Reg.OpenKey("\Control Panel\Desktop",False);
if Tile then Reg.WriteString("", "TileWallpaper" , "1" )
else Reg.WriteString("", "TileWallpaper" , "0" );
if Stretch then Reg.WriteString("", "WallpaperStyle", "2" )
else Reg.WriteString("", "WallpaperStyle", "0" );
Reg.Free;

SystemParametersInfo(spi_SetDeskWallPaper,1,
PChar(GetWindowsDirectory + MyWallpaper),
spif_SendWinIniChange + spif_UpdateIniFile);
end;


 
Destroyer ©   (2002-07-31 11:12) [4]

2Пастор
Понятно, что не обязательно, но если рабочий стол используется как Active Desktop, то SystemParametersInfo не дает немедленного применения обоев после изменения, в этом случае прокатит описанный мной выше способ...если рабочий стол не Active Desktop, то через SystemParametersInfo работает нормально...



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

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

Наверх




Память: 0.47 MB
Время: 0.011 c
3-35156
Loco
2002-07-20 15:42
2002.08.12
SQL


14-35412
AlexGreG
2002-07-04 07:24
2002.08.12
методы отображения записей пользователю


14-35446
sakses
2002-07-18 10:49
2002.08.12
PDF--> Doc


3-35183
alextov
2002-07-23 10:41
2002.08.12
Как присвоить TField.NewValue значение null ?


1-35303
Kurt
2002-07-29 13:35
2002.08.12
Как искать с помощью FindDialog текст только вверх??