You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows 11下如何在现有Shell窗口新标签页打开文件夹?

如何在Windows 11的现有Shell窗口新标签页中打开文件夹?

说明:本问题仅适用于Windows 11。

我希望在现有Shell窗口的新标签页中打开文件夹,但目前没有官方API可用。我尝试了两种方法:

方法一:使用opennewtab谓词调用ShellExecute

  • 调用带有opennewtab谓词的ShellExecute函数,该谓词对应注册表项[HKEY_CLASSES_ROOT\Folder\shell\opennewtab]
  • 结果:仅为文件夹打开了新窗口,未实现现有窗口新标签页的需求

方法二:通过COM接口调用IExecuteCommand

  • 分析注册表得知,opennewtab谓词通过DelegateExecute实现为IExecuteCommand接口,因此尝试获取其COM服务器接口,调用IExecuteCommand的SetXXX系列函数、IInitializeCommand::Initialize方法设置参数后,执行Execute方法
  • 为明确Windows Shell向这些方法传递的参数及调用顺序,我实现了自定义谓词及其COM服务器,替换了opennewtab原注册的COM服务器,通过DebugView得到以下输出:
    调试输出截图
  • 结果:发现Shell并未调用所有接口方法,按观察到的参数设置后触发了Null引用异常,仍未成功

说明:第二种方法属于取巧方案。
说明:默认谓词处理程序的CLSID为CLSID_ExecuteFolder。

请问如何在现有Shell窗口的新标签页中打开文件夹?


内容的提问来源于stack exchange,提问作者jtxkopt - STOP GENOCIDE

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 17:22:57