Друзья, очень прошу вас о помощи.
Нужно заставить работать превьюшки 3ds Max (*.max) в XYplorer. Это не простая прихоть, это действительно важно и необходимо.
[more=Подробнее...]
Вёл поиски, изыскания, и эксперименты уже неделю, разбирался с тем, как работает превью через реестр, куда копать, получил общее понятие как подключать dll, какие выпускались сторонние плагины и тулзы, но к сожалению, не так и не смог заставить XYplorer показывать превью. Единственное, что удалось - заставил показывать превьюшки в Проводнике.
В Проводнике эскизы появились после регистрации через regsvr32 MaxThumbnailShellExt.dll
Находится по пути: C:\Program Files\Autodesk\3ds Max Design 2015
После прогона Проводником, XYplorer подхватывает кэш и даже может показать эскизы, исключительно в маленьком размере эскизов (128x96). Но не в этом суть, этот способ через выхлоп Проводника совсем не подходит. Нужно заставить XYplorer честно и быстро декодировать в любых ситуациях без всяких чужих кэшей.
Вобщем, главный вывод изысканий наводит на мысль, что MaxThumbnailShellExt.dll - это исключительно 64-битная библиотека 3ds Max (он теперь только такой), а XYplorer переваривает только 32-битные. Старые методы реестра (как приведено в посте твиков от Povor) не работают, MaxThumbnailShellExt.dll - это относительно новая dll в последних версиях 3ds Max. Кроме того, у *.max -файлов специфический метод кодирования эскизов, по такому же принципу, как в приложениях MS Office, используя OLE Structured Storage (кстати, эскизы офиса у меня в системе Win8.1, x64 не видятся). Умельцы, создававшие отдельные тулзы-мини браузеры для *.max -форматов использовали DotNet для декодирования мелкософтовсих COM class объектов, известных как DSOFile (они же IFilter). Проблема в том, что из старья ничего не подойдёт, поскольку последние версии 3ds Max используют для показа эскизов совсем новые библиотеки, да ещё 64-битные.
Из тех, что обращают на себя внимание, рядом: MaxThumbnailShellExt.dll, MaxThumbnailProvider.dll, MaxThumbnailSaver.dll. Известно, что за отображение в файловой системе отвечает только первая, остальные - "для внутреннего употребления".
- Ну вот, например, старая stand-alone разработка (даже эскизы не показала):
http://lonerobot.net/?p=151 - Бибилиотека "Xcompound.dll" из XnView бесполезна, т.к. это не спец. dll -ка для регистрации в ОС, а просто плагин к своей оболочке. Хотя XnView внутри себя *.max эскизы показывает.
Короче, много всего и другого перерыл...
Чтобы хоть что-то покрутить-поковырять, прилагаю MaxThumbnailShellExt.dll, кое-какие ветки из реестра (те, что поважней) и *.max файл для теста превью.
Ссылка:
https://www.sendspace.com/file/rdofno (пароль стандартный)
Если кто-то отзовётся, я постараюсь ответить на вопросы в рамках возможностей, которые мне по силам. Я понимаю, что перекомпиляция dll - это огромная работа. На этом мои знания программирования заканчиваются. Поэтому, обращаюсь к вам с таким вот наболевшим вопросом...[/more]