Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
14-1126755274
КаПиБаРа
2005-09-15 07:34
2005.10.09
Ажиотаж вокруг ФК Терек


14-1126849420
Разгневанный манагер
2005-09-16 09:43
2005.10.09
Как защитить свой компьютер от непрошенных гостей?


1-1126794027
manulo
2005-09-15 18:20
2005.10.09
Сервисы


8-1116324008
slim
2005-05-17 14:00
2005.10.09
direct draw. определение устройств и видеорежимов


14-1127306647
Frozzen
2005-09-21 16:44
2005.10.09
Wap & Wml





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский