Форум: "WinAPI";
Текущий архив: 2005.10.09;
Скачать: [xml.tar.bz2];
ВнизБаги при использования com-интерфейса Найти похожие ветки
← →
zero-g © (2005-08-14 09:13) [0]Доброго времени суток уважаемые коллеги!
У меня такая проблеммка.
Использую в своей программе, Wallpaper v.2.3, com-интерфейс для смены фона рабочего стола.
файл программы
http://alexshad.pisem.net/file/wallp.zip
процедура смены фона
uses ComObj,ShlObj;
....
procedure SetWallpaper(sWallpaperBMPPath : String; bTile : byte);
const
CLSID_ActiveDesktop: TGUID = "{75048700-EF1F-11D0-9888- 006097DEACF9}";
var
ActiveDesktop: IActiveDesktop;
t_ : WideString;
wp : _tagWALLPAPEROPT;
begin
t_ := sWallpaperBMPPath;
try
ActiveDesktop := CreateComObject(CLSID_ActiveDesktop) as IActiveDesktop;
except
showmessage("Error CREATE COM OBJECT");
end;
wp.dwSize := sizeof(_tagWALLPAPEROPT);
if bTile = 3 then //по растянуть
wp.dwStyle := WPSTYLE_STRETCH;
if bTile = 2 then //по замостить
wp.dwStyle := WPSTYLE_MAX;
if bTile = 1 then //по центру
wp.dwStyle := WPSTYLE_CENTER;
try
ActiveDesktop.SetWallpaperOptions(wp,0);
ActiveDesktop.SetWallpaper(PWideChar(t_),0);
ActiveDesktop.ApplyChanges(AD_APPLY_ALL or AD_APPLY_FORCE);
except
showmessage("Error SET & APPLAY");
end;
ActiveDesktop := NIL;
end;
Пример использования
...
SetWallpaper("C:\mywallpaper.jpg",3);
...
Ну так вот, сама процедура работает нормально.
приложение работает на всех осях нормально.
но тут мне один из ее пользователей сказал о баге, о котором я вообще бы не подумал.
Дело в следующем.
Юзер использует OutLook Expesse для приема почты, и во время когда происходит смена фона рабочего стола, у него увеличивается в размерах ряд с кнопками : Сохранить, Вставить, Ответить.... Кнопки становятся больше и не помещаются на экране.
Я тоже пользуюсь OutLook Expesse, но как то не обращал на это внимания, но попробывал протестить данный вариан, и убедился что это так.
Ну так вот. В самой прогремме сторонние приложения вообще не используются, ни процессы их ни что либо другое, поэтому я и грешу на com-интерфейс....
Кто нить с таким сталкивался, или у кого нить есть какие нить идеи??? Кроме переписки движка по установки через реестр ))) Так как это не актуально )))
В общем люди, я без понятия из-за чего такая фигня происходит. Очень нуждаюсь в умных советах.
Зарание спасибо.
← →
zero-g © (2005-08-14 09:17) [1]Да и кстате,
данная фигня происходит если стоит режим установки "Растянуть"
Если стоит режим "По центру", то все нормально.
← →
Ученик (2005-08-14 12:55) [2]Может быть убрать AD_APPLY_FORCE
← →
zero-g © (2005-08-14 13:16) [3]Да, спасибо.
Убрал AD_APPLY_FORCE, теперь с OutLook Expesse никаких проблем )))
Еще раз спасибо :)
Теперь осталось тока на всех виндозных осях протестить, посмотреть, будет ли работать смена фона без глюков :)
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.10.09;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.012 c