Название: Windows предварительный просмотр Отправлено: Yuriy от Сентябрь 17, 2011, 23:36 Всем привет !
Кто-нибудь знает как устроен механизм показа предварительного просмотра в Windows ? Задача следующая: в файле XML зашито изображение PNG, как сделать так чтобы Windows Проводник обращался к библиотеке для считывания графической информации из этого файла. и как растолковать ему что нужно обрабатывать его с помощью этой библиотеки и отображать как PNG картинку ??? С Linux Gnome разобрался. Показывает изображения на Ура, а вот с Проводником засада ! Спасибо за помощь ! Название: Re: Windows предварительный просмотр Отправлено: Yuriy от Сентябрь 21, 2011, 02:47 Ну вроде бы все проясняется. Достаточно было залезть в исходники Wine.
Только вот теперь нужно своять библиотеку, у которой должны быть обязательные функции: BOOL DllMain(DWORD dwReason, LPVOID lpReserved) throw(); HRESULT DllRegisterServer() throw(); HRESULT DllUnregisterServer() throw(); И здесь начинается коллабс. При попытке вызова regsvr32 /i PreviewDll.dll : PreviewDll.dll была загружена, но найти точку входа для DllRegisterServer не удалось. Зарегистрировать этот файл невозможно. Долго копал и дошел до того , что http://blogs.msdn.com/b/karinm/archive/2007/12/05/troubleshooting-error-c1083-cannot-open-include-file-atlbase-h.aspx оказывается для того чтобы использовать некоторые функции, типа точек входа в библиотеку нужно купить MS Visual ... Вообщем, бред из бреда с этим дебильным M& . Народ, выручайте кто может. Млин под Linux превью в 5 секунд собрал, а M&-вцы закрывают свои апи. Можно конечно от Wine'а хидеры подключить, но это уже слишком маслянно получается. Название: Re: Windows предварительный просмотр Отправлено: Yuriy от Сентябрь 21, 2011, 03:01 И еще, может кто сталкивался:
как создать void, который можно будет запустить с rundll32.exe? например, rundll32.exe mylib.dll,func Или для создания таких func нужен платный MS Visual ??? Название: Re: Windows предварительный просмотр Отправлено: LisandreL от Сентябрь 21, 2011, 08:07 создать void, который можно будет запустить Что-что?В смысле функцию, ничего не возвращающую? платный MS Visual Express же бесплатный.Название: Re: Windows предварительный просмотр Отправлено: Yuriy от Сентябрь 21, 2011, 13:48 Вообщем, невозможно создать библиотеку с помощь MS Visual Express, функции которой вызываются с Rundll32.exe
Потому что в бесплатной Express нет поддержки ATL, которая отвечает за точки входа библиотек. Блин, только время зря потратил. Название: Re: Windows предварительный просмотр Отправлено: Yuriy от Сентябрь 21, 2011, 14:46 И вообще, все это уже изрядно надоело ! M$ бесплатно раздают программы и как обычно подводные камни: то ассемблерский код не работает, то какие-то функции урезаны.
Надо переходить на GCC я чувствую и под Вин тоже. Название: Re: Windows предварительный просмотр Отправлено: panAlexey от Сентябрь 21, 2011, 16:51 Надо переходить на GCC я чувствую и под Вин тоже. давно пора. собирать программы на кросплатформенной либе с пом. платформо зависимого кмпайлера - это обречь себя на будущие неприятности. |