我正在尝试为我们的自定义文件类型编写一个 Windows 资源管理器缩略图处理程序。我在预览窗格中可以正常工作,但无法让它在缩略图上工作。
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/),这不起作用。
我是 shell 编程的新手,所以不太确定调试它的最佳方法。我尝试将调试器附加到 explorer.exe,但这似乎不起作用(断点被禁用,并且我的 OutputDebugStrings 都没有显示在输出窗口中)。请注意,我尝试按照 WinSDK 文档中的说明在注册表中设置“DesktopProcess”以调试 shell,但我仍然在任务管理器中只看到一个 explorer.exe - 所以“可能”是我不能的原因调试它??
对此的任何帮助将不胜感激!
问候,丹。