Форум: "WinAPI";
Текущий архив: 2007.09.30;
Скачать: [xml.tar.bz2];
ВнизСмена обоины на API Найти похожие ветки
← →
Galiaf © (2007-03-31 13:40) [0]
uses
ComObj, ShlObj;
procedure ChangeActiveWallpaper;
const
CLSID_ActiveDesktop: TGUID = "{75048700-EF1F-11D0-9888-006097DEACF9}";
var
ActiveDesktop: IActiveDesktop;
begin
ActiveDesktop := CreateComObject(CLSID_ActiveDesktop)
as IActiveDesktop;
ActiveDesktop.SetWallpaper("c:\windows\forest.bmp", 0);
ActiveDesktop.ApplyChanges(AD_APPLY_ALL or AD_APPLY_FORCE);
end;
При попытке данным кодом сменить обои без использования модуля forms.pas наблюдается ошибка "Не был произведён вызов CoInitialize". Давольно долго рылся в модуле forms и в используемых им модулях но так и не понял что именно надо сделать для того, чтобы можно было воспользоваться этим методом на апи. Я пробовал менять обои другим методом но остальные работают только с форматом bmp, а мне нужна поддержка как bmb так и jpg. Вот я так подумал может кто встречался с похожей проблемой и может мне посоветовать как исправить и попутно объяснить что в чём ИМЕННО проблема.
← →
Anatoly Podgoretsky © (2007-03-31 13:42) [1]> Galiaf (31.03.2007 13:40:00) [0]
А произвести вызов не судьба
← →
Galiaf © (2007-03-31 16:19) [2]так я не знаю что это такое, не нашёл
← →
KSergey © (2007-04-02 11:05) [3]А как искал?
Вот, например
http://msdn2.microsoft.com/en-us/library/ms678543.aspx
← →
Galiaf © (2007-04-02 20:50) [4]
> А как искал?
В исходниках модулей forms и им используемых
ссылка не работает но всёже спасибо, приму как намёк
← →
Leonid Troyanovsky © (2007-04-03 00:54) [5]
> Galiaf © (02.04.07 20:50) [4]
> ссылка не работает но всёже спасибо, приму как намёк
Ссылка, как раз, работает.
Прими как намек.
--
Regards, LVT.
← →
Германн © (2007-04-03 01:00) [6]
> Galiaf © (02.04.07 20:50) [4]
>
>
> > А как искал?
>
> В исходниках модулей forms и им используемых
>
А сколько по-твоему в модуле дельфи объявлений uses?
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2007.09.30;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.043 c