【发布时间】:2016-01-13 11:33:01
【问题描述】:
在 Windows shell 中枚举项目(文件)的“新”方法是 IEnumShellItems。旧方法是 IShellFolder::EnumObjects。然而,这两种方法不是 100% 等效的。 articles 解释了如何模拟超隐藏文件的 SHCONTF 参数,但 EnumObjects 也有一个 HWND 参数,可用于告诉 shell 扩展以进行交互,例如询问密码等。我找不到如何通过 IEnumShellItems 传递此类“获取交互”信息。
这不是无意义的提问,我试图说服 Windows 资源管理器向我的 7z shell extension 询问密码
谢谢
【问题讨论】:
-
我会坚持使用旧 API,因为新内容的文档记录非常糟糕。
-
我坚持使用旧的东西,但资源管理器本身却没有,这就是问题所在!
-
为什么 Explorer 的功能很重要?新 API 为您做了哪些旧 API 没有的功能?
-
这不适用于 xplorer2。上述 7z NSE 有时需要询问密码,而资源管理器没有通过 EnumObjects 传递 HWND,这表明使用了 IEnumShellItems。必须有一些通过 HWND 的绑定上下文,但它在哪里?
-
哦,所以您是从另一端(作为实施者)使用它?我错过了。是的,我想它一定是这样的。可能是一个超级秘密的无证界面,由于……原因,不可能向世界透露。