- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试为我们的自定义文件类型编写一个 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 - 所以“可能”是我不能的原因调试它??
如有任何帮助,我们将不胜感激!
问候,丹.
最佳答案
自从您提到我的博客 (codemonkeycodes.com) 后,我偶然发现了这一点。
你对我的 sample 有什么问题?您是否使用 regsvr32 注册了 DLL?您使用的是什么版本的 Windows 7,32 位还是 64 位?
更新:
我不能说什么适合或不适合你。我刚刚从我的站点下载了示例,按照说明更改了功能STDMETHODIMP CThumbnailProvider::GetThumbnail... 看起来像
{
*phbmp = NULL;
*pdwAlpha = WTSAT_UNKNOWN;
ULONG_PTR token;
GdiplusStartupInput input;
if (Ok == GdiplusStartup(&token, &input, NULL))
{
//gcImage.LogBuffer();
Bitmap * pBitmap = new Bitmap(188, 141);
if( pBitmap )
{
Color color(0, 0, 0);
pBitmap->GetHBITMAP(color, phbmp);
}
}
GdiplusShutdown(token);
if( *phbmp != NULL )
return NOERROR;
return E_NOTIMPL;
}
我注册了 DLL,然后创建了一个具有适当扩展名的新文件,然后,我有了一个漂亮的黑色缩略图。
希望能帮到你。也许您想通过电子邮件将您的代码发送给我?
关于c++ - 缩略图提供程序不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2737921/
我有一个具有可变数量子元素的固定大小的 div。我不知道 children 的大小。目标是缩小它们以适合父级。 例子: .parent { width: 100px; height: 100p
我是一名优秀的程序员,十分优秀!