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

Вниз

Рабочий стол   Найти похожие ветки 

 
Герасим   (2007-05-20 15:26) [0]

Привет, ребята!

Решил написать прогу для управления рабочим столом - смены обоев.
Все что нужно - реализовано. Осталось только одно - функция смены обоев.
Придумать ничего толком не смог - опыта мало. Поэтому нашел в сети одну прекрасную реализацию. Только вот столкнулся с одной проблемой.
Сменить получается, если указать в строковой переменной имя файла и путь к нему. Но у меня задумка в использовании списка - ListBox.
Пробовал много различных вариантов - ничего не работает.

Помогите пожалуйста, как обойти такую неприятность.

Привожу полный фрагмент функции.

uses
 ComObj, ShlObj.

procedure MyWalpapper;
const
 CLSID_ActiveDesktop: TGUID = "{75048700-EF1F-11D0-9888-006097DEACF9}";
var
 ActiveDesktop: IActiveDesktop;
begin
 ActiveDesktop := CreateComObject(CLSID_ActiveDesktop)
   as IActiveDesktop;
 ActiveDesktop.SetWallpaper("C:\picture.jpg", 0); //Здесь! Хотелось бы имя файла засунуть в строковую переменную
 ActiveDesktop.ApplyChanges(AD_APPLY_ALL or AD_APPLY_FORCE);
end;


 
si   (2007-05-20 15:42) [1]

ну и в чем проблема то?
var
  file_patch:string;
...
  file_patch:="C:\picture.jpg"
  ActiveDesktop.SetWallpaper(file_patch, 0);


 
homm ©   (2007-05-20 15:44) [2]

> Но у меня задумка в использовании списка - ListBox.

Не понял, листбокс будет в качестве обины?


 
{RASkov} ©   (2007-05-20 15:53) [3]

> [0] Герасим   (20.05.07 15:26)

procedure MyWalpapper(const S: String);
const
CLSID_ActiveDesktop: TGUID = "{75048700-EF1F-11D0-9888-006097DEACF9}";
var
ActiveDesktop: IActiveDesktop;
begin
ActiveDesktop := CreateComObject(CLSID_ActiveDesktop)
  as IActiveDesktop;
ActiveDesktop.SetWallpaper(StringToOleStr(S), 0); //Здесь! Хотелось бы имя файла засунуть в строковую переменную
ActiveDesktop.ApplyChanges(AD_APPLY_ALL or AD_APPLY_FORCE);
end;


Вызов MyWalpapper(ListBox.Items[ListBox.ItemIndex]);
Соответственно в листбоксе пути к файлам картинок.....



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

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

Наверх




Память: 0.47 MB
Время: 0.027 c
15-1179195101
Slider007
2007-05-15 06:11
2007.06.10
С днем рождения ! 15 мая


15-1178788010
elserpiente
2007-05-10 13:06
2007.06.10
Профайлер под BDS2006


2-1179493388
Bonuss
2007-05-18 17:03
2007.06.10
заблокировать комп


15-1179355185
Riply
2007-05-17 02:39
2007.06.10
Отключение "автостарта" флешки.


2-1179393807
koha
2007-05-17 13:23
2007.06.10
TCompressionStream не возвращает поток в TMemoryStream - почему?