Текущий архив: 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.44 MB
Время: 0.043 c