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

Вниз

Смена картинки на рабочем столе.   Найти похожие ветки 

 
quickblack   (2004-10-12 22:30) [0]

У меня возникла такая проблема. Мне необходимо, чтобы программа меняла картинку на рабочем столе. В реестре HKEY_CURRENT_USER\Control Panel\Desktop я добавляю в параметр Wallpaper путь к моему изображению.
Но эта картинка становится на рабочий стол только после перезагрузки компьютера. А мне нужно, чтобы картинка менялась на рабочем столе при запуске программы.
Может есть другой способ смены изображения на рабочем столе?


 
Gero ©   (2004-10-12 22:53) [1]

SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, nil, SPIF_SENDWININICHANGE);


 
quickblack   (2004-10-12 23:00) [2]

>Gero©  Спасибо.


 
Kolan ©   (2004-10-12 23:34) [3]

Посмотри по форуму недавно  функции для работы с desktop скидывал.
А ладно вот еще раз
procedure TForm1.ChangeWallpaper(Path:PwideChar);
const
 CLSID_ActiveDesktop: TGUID = "{75048700-EF1F-11D0-9888-006097DEACF9}";
var
 ActiveDesktop: IActiveDesktop;
begin
 if path <> "" then
   begin
     ActiveDesktop := CreateComObject(CLSID_ActiveDesktop)as IActiveDesktop;
     ActiveDesktop.SetWallpaper(path, 0);
     ActiveDesktop.ApplyChanges(AD_APPLY_ALL or AD_APPLY_FORCE);
   end
 else exit;
end;


function TForm1.StringToPWide( sStr: string; var iNewSize: integer ): PWideChar;
var
 pw : PWideChar;
 iSize : integer;
begin
 iSize := Length( sStr ) + 1;
 iNewSize := iSize * 2;

 pw := AllocMem( iNewSize );

 MultiByteToWideChar( CP_ACP, 0, PChar(sStr), iSize, pw, iNewSize );

 Result := pw;
end;


Вызов
ChangeWallpaper(StringToPWide(current_dir+only_file_name,iSize));
Скидываю тк сам с этим долго мучался



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

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

Наверх




Память: 0.47 MB
Время: 0.023 c
14-1097750932
TUser
2004-10-14 14:48
2004.10.31
Интересно, как такое можно сделать


14-1097499680
Григорьев Антон
2004-10-11 17:01
2004.10.31
Может, кто подскажет? А то наш админ не смог :(


1-1098175993
Manfred8
2004-10-19 12:53
2004.10.31
Написание программатора для мини АТС


8-1091536814
debuger
2004-08-03 16:40
2004.10.31
Масштабирование картинки


14-1097336579
Knight
2004-10-09 19:42
2004.10.31
Pain killer...