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

Вниз

Изображение на Десктопе   Найти похожие ветки 

 
namor ©   (2003-06-03 14:14) [0]

Мастера, подскажите плз...

Задача тривиальная - поместить изображение на рабочий стол...

Делаю так

path := flList.FileName;
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, PChar( Path ), SPIF_SENDWININICHANGE);


Тока изображение на рабочем столе не появляется(даже после обновления). Но вот старое убирается.

Может что не так делаю...

<Path> реально содержит строку пути. Проверял при отладке.


 
clickmaker ©   (2003-06-03 14:44) [1]

Файл нужного формата? Проверь IsFileExists(Path), узнай код ошибки
if SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, PChar( Path ), SPIF_SENDWININICHANGE) = 0 then
SysErrorMessage(GetLastError);



 
namor ©   (2003-06-03 15:08) [2]


> clickmaker ©


Файл jpg; То что файл создан сомнений нет(он по этому же пути в имайдж загружается), SysErrorMessage выдаёт "Операция успешно завершена"


 
clickmaker ©   (2003-06-03 15:19) [3]

А если его явно через виндозные настройки десктопа подсунуть, появится ?


 
DVM ©   (2003-06-03 15:28) [4]


> namor ©

файл jpg требует включенного ActiveDesktop.


 
namor ©   (2003-06-03 15:32) [5]

Пробовал я через реестр подсовывать...

Та же история. Пока в св-ва экрана не зайдёшь и применить не нажмёшь, ничего не покажет


 
sergiu   (2003-06-03 15:35) [6]

procedure SetWallpaper(const fileName:string;tile:boolean);

var
Reg: TRegIniFile;
begin

Reg:=TRegIniFile.Create("Control Panel");
Reg.WriteString("desktop", "Wallpaper", fileName);
if tile then
Reg.WriteString("desktop", "TileWallpaper", "1")
else
Reg.WriteString("desktop", "TileWallpaper", "0");
Reg.Free;
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, nil,SPIF_SENDWININICHANGE);
end;


 
namor ©   (2003-06-03 15:36) [7]

Сори всем что стока мучил...
Даже стыдно стало. Туплю немного. Действительно БМПшки ставит без проблем.

To ALL: Как програмно включить/выключить ActiveDeskTop?


 
namor ©   (2003-06-03 15:41) [8]


> sergiu


Я же говорю, пробовал через реестр...
К тому же народ уважаю... Сначала ФАК прочту а потом тока вопрос задаю... Так что я это уже видел.
Но всё равно спасибо...


 
sergiu   (2003-06-03 15:46) [9]

Да не за что, тем более что не помогло :o)


 
DVM ©   (2003-06-03 15:51) [10]


> To ALL: Как програмно включить/выключить ActiveDeskTop?

Как проверить, включён ли ActiveDesktop.

function IsActiveDeskTopOn: Boolean;
var
h: hWnd;
begin
h := FindWindow("Progman", nil);
h := FindWindowEx(h, 0,
"SHELLDLL_DefView", nil);
h := FindWindowEx(h, 0,
"Internet Explorer_Server", nil);
Result := h <> 0;
end;

Отключение Active Desktop

Следующий параметр полностью отключает использование Active Desktop.
Раздел HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\
Policies\Explorer
Параметр NoActiveDesktop
Тип REG_DWORD
Значение 0 - отключено, 1 - включено





 
namor ©   (2003-06-05 10:38) [11]


> DVM © (03.06.03 15:51)

Что-то не нашёл я такого параметра в реестре...



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

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

Наверх




Память: 0.49 MB
Время: 0.016 c
1-60195
Xeon
2003-06-05 11:06
2003.06.19
Самораспаковка


6-60306
ZDN
2003-04-15 08:55
2003.06.19
Передача потока данных с аудиокарты на стевуху.


1-60201
GavAl
2003-06-05 10:37
2003.06.19
Excel


3-60061
ss300
2003-05-28 13:48
2003.06.19
Вычисление суммы по группам


14-60315
DMN
2003-05-30 08:26
2003.06.19
Работа с файлами