【问题标题】:How to extend Windows Explorer with a custom panel如何使用自定义面板扩展 Windows 资源管理器
【发布时间】:2014-02-28 17:24:57
【问题描述】:

我想使用自定义底部或右侧面板(如下图)扩展 Windows 资源管理器。

根据我所阅读的内容,我认为我应该从实现 IShellView 开始。它是否正确?谁能给我一些指示如何在.net中做到这一点?

谢谢

【问题讨论】:

标签: c# windows shell windows-explorer


【解决方案1】:

您必须实现 IDockingWindow。结果将如下所示:

场景之一:

1) 创建具有 IObjectWithSite 支持的 BHO。

2) 在 IObjectWithSite.SetSite 内部调用 Site.QueryInterface(IServiceProvider, ServiceProvider)

3)然后调用ServiceProvider.QueryService(SID_SShellBrowser, IDockingWindowFrame, DockingWindowFrame)。

4) 然后使用实现 IDockingWindow 和 IObjectWithSite 的对象调用 DockingWindowFrame.AddToolbar。

5) 在对象调用 QueryInterface(IDockingWindowSite, DockingWindowSite) 的 IObjectWithSite 内部

您可以在 MSDN 中找到其他详细信息。

【讨论】:

  • 非常感谢@Denis 的回复。我有以下代码:object webBrowser; provider.QueryService(ref guid, ref riid, out webBrowser); this.explorer = webBrowser as InternetExplorer; 如何更改它以获取资源管理器窗口而不是 InternetExplorer?
  • 你要接收哪个接口?
  • 我想获得指向 Windows Explorer 而不是 InternetExplorer 的指针。我应该使用ShellBrowserWindow 吗?非常感谢。我是写这类东西的新手。
  • 你写“获取指向Windows资源管理器的指针”是什么意思?你想让我做什么?如果您想向 Explorer 添加新面板,只需使用我在答案中编写的代码即可。
  • 好的。我想我做错了。你能给我一些代码做类似事情的指针吗?
猜你喜欢
  • 2012-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-02
  • 2011-11-20
  • 2011-12-24
  • 1970-01-01
  • 2012-02-20
相关资源
最近更新 更多