windows - 命名空间扩展中用于删除操作的入口点是什么?

标签 windows com windows-shell shell-extensions

背景: 我正在实现命名空间扩展以提供服务器上文件和文件夹的虚拟 View 。我从 Microsoft SDK 示例 explorerdataprovider 开始。我修改了枚举逻辑并更改了菜单项以满足我的要求。

问题:IShellFolder::GetAttributesOf() 函数中,我使用标志 SFGAO_CANDELETE|SFGAO_CANRENAME 标记该项目。当尝试重命名时,它会调用IShellFolder::SetNameOf()。但是当我尝试删除操作(通过按删除键)时,我在 IShellFolder 中看到没有可用的接口(interface),这似乎是为了处理删除而调用的。

注意: 我可以在上下文菜单中添加自己的菜单项来处理此问题,但如果使用键盘启动删除,则不会调用该菜单项,并且用户将看不到“您确定要删除它吗?”的标准对话框。 .

请告诉我如何处理命名空间扩展中的删除。

最佳答案

我认为实际上操作文件夹中的数据是通过其 IStorage 完成的界面。

它有一个名为 DestroyElement 的方法。

关于windows - 命名空间扩展中用于删除操作的入口点是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20657585/

相关文章:

python - 如何使用 python 在 Windows 上查找未分配的驱动器号

c++ - 为什么我没有收到 WM_MENUCHAR 消息?

windows - Omnis Studio ZIP功能

ruby - vim-foreplay 在 Ruby 1.9 上真的很慢,但在 Windows 上用 Ruby 1.8 很快

c - 如何从 Code::Blocks 的输出窗口中删除与执行相关的文本

c++ - 使用 COM 跨 CRT 边界调用是否安全?

c++ - 构建 C++ COM 对象以生成 UUID

c# - COM:如何检索 CLSID? Prog-Id可以用吗?

c++ - 他们如何使 "Get Windows 10"图标默认具有 "Show icon and notifications"可见性?

wpf - 关于关注WPF的一些问题