Я пытаюсь написать обработчик эскизов Windows Explorer для нашего настраиваемого типа файла. У меня это нормально работает для панели предварительного просмотра, но у меня проблемы с работой над эскизами.Thumbnail Provider не работает
Windows, похоже, даже не пытается вызвать точку входа DllGetClassObject.
Прежде чем продолжить, обратите внимание, что я использую Windows 7 и неуправляемый C++.
Я зарегистрировал следующие значения в реестре:
HKCR\CLSID\<my guid>
HKCR\CLSID\<my guid>\InprocServer32 (default value = path to my DLL)
HKCR\CLSID\<my guid>\InprocServer32\ThreadingModel (value = "Apartment")
HKCR\.<my ext>\shellex\{E357FCCD-A995-4576-B01F-234630154E96} (value = my guid)
Я также попытался использовать образец Win SDK, и что не работает. А также образец проекта в этой статье (http://www.codemonkeycodes.com/2010/01/11/ithumbnailprovider-re-visited/), и это не сработает.
Я новичок в программировании оболочки, поэтому не уверен, что лучший способ отладки этого. Я попытался подключить отладчик к explorer.exe, но это не работает (точки останова отключены, и ни один из моих OutputDebugStrings не отображается в окне вывода). Обратите внимание, что я попытался установить «DesktopProcess» в реестре, как описано в документах WinSDK для отладки оболочки, но я все еще вижу только один explorer.exe в диспетчере задач, поэтому «может быть», поэтому я не могу отлаживать его ??
Любая помощь с этим была бы принята с благодарностью!
С уважением, Дэн.
Hi. Я использую x64 Windows7. Поскольку это не только ваш образец, который не работает для меня - это как образцы MS, так и мой собственный код, который также не работает - я предполагаю, что есть что-то еще. Поскольку я новичок в программировании Windows (мой опыт работы с приложением и разработкой игр), я не знаю, как лучше всего отлаживать его. Я попытался подключить мой отладчик (MS VS 2005) к explorer.exe, но я не вижу ни одного из моих журналов трассировки. – Dan
Глупый вопрос, и я уверен, что вы этого не упустили, но зарегистрировали ли вы DLL с 64-битной версией regsrv32? – Jeremy
Да, я явно набрал в \ windows \ system32 \ regsvr32.exe. Знаете ли вы, в какой момент Windows должна вызывать функцию DllGetClassObject? Было бы полезно узнать, добирается ли он туда. – Dan