背景: 我正在实现命名空间扩展以提供服务器上文件和文件夹的虚拟 View 。我从 Microsoft SDK 示例 explorerdataprovider 开始。我修改了枚举逻辑并更改了菜单项以满足我的要求。
问题:
在 IShellFolder::GetAttributesOf()
函数中,我使用标志 SFGAO_CANDELETE|SFGAO_CANRENAME
标记该项目。当尝试重命名时,它会调用IShellFolder::SetNameOf()
。但是当我尝试删除操作(通过按删除键)时,我在 IShellFolder
中看到没有可用的接口(interface),这似乎是为了处理删除而调用的。
注意: 我可以在上下文菜单中添加自己的菜单项来处理此问题,但如果使用键盘启动删除,则不会调用该菜单项,并且用户将看不到“您确定要删除它吗?”的标准对话框。 .
请告诉我如何处理命名空间扩展中的删除。
最佳答案
我认为实际上操作文件夹中的数据是通过其 IStorage 完成的界面。
它有一个名为 DestroyElement
的方法。
关于windows - 命名空间扩展中用于删除操作的入口点是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20657585/