windows - IShellFolderView 的 RemoveObject 和 AddObject 方法的替代方案
问题描述
我知道IShellFolderView
从 Windows 7 开始,Windows Shell 不再支持该接口。但是我仍然对该接口公开的方法(即RemoveObject
和)感兴趣。AddObject
以下调用不再编译
pShellView->QueryInterface(IID_IShellFolderView, (LPVOID*)&pShellFolderView)
因为 riid:IID_IShellFolderView
不再存在于shlobj.h
(最新的 sdk)中。我需要访问一些允许我在文件夹视图中删除/添加或(隐藏/显示)文件夹对象的方法。我读了一篇文章,建议进行以下调用:
SHShellFolderView_Message(?m_hwnd_cabinet?, SFVM_REMOVEOBJECT, (LPARAM)pidl);
但是它似乎没有产生任何效果。我怀疑可能提供的 hwnd(即 m_hwnd_cabinet)不是正确的。谁能告诉我正确的手柄是什么,我怎样才能生产它?还是有其他方法?
谢谢!
我正在尝试调整这个项目https://github.com/stefankueng/tools/blob/main/StExBar/src/Filter.cpp#L44但它使用 IID_IShellFolderView。
解决方案
推荐阅读
- python-3.x - GridSearchCV 给出的分数来自与 refit 参数中指示的不同的最佳估计器
- javascript - 如何设置一个函数在条件满足时不调用 - JavaScript
- vertica - 在 Vertica 中执行查询需要很长时间
- java - Java switch 语句的语法强制检查所有已知的枚举案例
- css - styled-components 切换重启动画
- php - class_exists 无法识别有效的命名空间
- nestjs - TypeORM - 左加入没有“deletedAt IS NULL”
- java - Jaxb 从具有命名空间的 XML 文件中解组 java 文件
- terraform - 是否可以将 aks 自定义标头与 azurerm_kubernetes_cluster 资源一起使用?
- c# - 如何为 C# 字典中的多个键分配一个值?