Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.02 c
1-1097338188
temp2
2004-10-09 20:09
2004.10.31
Как показать окно сообщения MessageDlg со своими надписями кнопок


1-1097951948
clampo
2004-10-16 22:39
2004.10.31
Про *.bmp


14-1096909424
Knight
2004-10-04 21:03
2004.10.31
Какая машина самая универсальная для российских дорог?


4-1096021630
Antonmm2
2004-09-24 14:27
2004.10.31
Устройства


1-1098004886
Татьяна
2004-10-17 13:21
2004.10.31
StringGrid. Как переместить фокус ввода в определенную ячейку???




   Наверх