从IShellFolder访问IExplorerCommandProvider

时间:2010-10-31 17:34:16

标签: windows-shell windows-explorer

我正在为Vista和Windows 7编写一个Explorer扩展。我读到如果你要进行命名空间扩展,你可以使用 IExplorerCommandProvider 提供自己的命令。这是为了响应 IShellFolder :: CreateViewObject

我不是在编写命名空间扩展,而是一个允许您在资源管理器中执行操作的工具栏。所以我需要从现有的 IShellFolder 中获取 IExplorerCommandProvider

我从 IShellBrowser 获取 IShellView ,然后将其转换为 IFolderView ,然后我获得 IShellFolder 。到现在为止还挺好。我得到一个有效的文件夹指针。

然而,这不起作用:
pShellFolder-> CreateViewObject(NULL,IID_IExplorerCommandProvider,&安培; P); //返回E_NOINTERFACE

我尝试为 CreateViewObject hwnd 参数传递不同的值,从文件窗格开始,一直到顶级资源管理器窗口,没有他们工作了。

所以我的问题是:
1)常规文件系统文件夹是否支持 IExplorerCommandProvider
2)如果他们这样做,我如何得到那个界面?

感谢
IVO

0 个答案:

没有答案