这似乎是一个常见的问题,但经过一些搜索后,我真的无法找到答案.这里有一篇文章:
http://www.codeproject.com/KB/shell/shellextguide1.aspx
但它适用于Visual Studio的旧版本.我正在使用VS 2008,所以说明和界面似乎与我所看到的不相符.
我想使用C++创建一个简单的shell扩展,为扩展名为.GZ的文件创建上下文菜单.当右键单击这些文件时,我应该能够单击我的上下文菜单项并在代码中进行回调以对该文件执行某种操作.
其他上下文菜单项将执行诸如生成无模式对话框之类的操作,以在执行某些操作之前接受用户输入.
从我所看到的,ATL用于此,但我从未使用过ATL,所以所有的对象类型和接口都让我很困惑.如果我有适当的教程或文档可供阅读,那就不会那么糟糕了.
谁能帮我吗?是不是有一些不是10年的教程?
我在目录中收到了一堆图片和视频,需要在WPF应用程序中显示,我正在考虑将Win7 Large Icon本身显示为预览图像.因为这样可以节省我从视频文件中获取适当帧的工作,因为Windows已经很好地完成了这项工作.用于访问此Shell图像数据的任何代码段?
我正在尝试为自定义文件类型编写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)
Run Code Online (Sandbox Code Playgroud)
我也试过使用Win SDK示例,但这不起作用.还有本文中的示例项目(http://www.codemonkeycodes.com/2010/01/11/ithumbnailprovider-re-visited/),但这不起作用.
我是shell编程的新手,所以不确定调试它的最佳方法.我已经尝试将调试器附加到explorer.exe,但这似乎不起作用(断点被禁用,并且我的OutputDebugStrings都没有显示在输出窗口中).请注意,我尝试在WinSDK文档中描述的用于调试shell的注册表中设置"DesktopProcess",但我仍然只在任务管理器中看到一个explorer.exe - 所以"可能"就是为什么我不能调试它?
任何有关这方面的帮助将不胜感激!
问候,丹.
我正在为 Windows 7 创建一个读取文档的应用程序,并且我想启用可以在缩略图图标中预览文档封面的功能。我知道我必须创建缩略图,但是如何将该图像提供给资源管理器,以便它为该特定文件使用该缩略图?