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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.029 c
10-1046694573
AlexanderSK
2003-03-03 15:29
2004.10.31
WebSnap (Midas) - сервер


14-1097579767
Kolan
2004-10-12 15:16
2004.10.31
Помогите с Turbo Basic


3-1096967022
panov
2004-10-05 13:03
2004.10.31
Возврат значения из хранимой процедуры


6-1092818854
Klopan
2004-08-18 12:47
2004.10.31
TServerSocket


1-1098255088
BillyJeans
2004-10-20 10:51
2004.10.31
Как отловить окончание изменения TrackBar





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