1

I would like to extend Windows Explorer with a custom bottom or right panel (like the image below).

From what I have been reading, I think I should start by implementing IShellView. Is this correct? Can anyone give me a few pointers how to do this in .net?

Thanks

enter image description here

Reg Edit
  • 6,719
  • 1
  • 35
  • 46
pinker
  • 1,283
  • 2
  • 15
  • 32
  • [Shell extensions written in C# are not supported](http://msdn.microsoft.com/en-us/library/windows/desktop/dd758089(v=vs.85).aspx) – Raymond Chen Feb 28 '14 at 17:34
  • Thanks @RaymondChen. And in C++? Any hints how to do it? – pinker Feb 28 '14 at 17:36
  • It sounds like what you want is an Explorer Bar, [documented here](http://msdn.microsoft.com/en-us/library/windows/desktop/cc144099(v=vs.85).aspx) – Raymond Chen Feb 28 '14 at 18:09
  • As pointed by Raymond Chen or Xearinox in your previous question - CREATE EXPLORER BAR AND DONT ASK DUPLICATE QUESTION! – user2120666 Feb 28 '14 at 21:00
  • @RaymondChen: thanks but it seems that Explorar Bar are no longer supported in Win7 (http://en.wikipedia.org/wiki/List_of_features_removed_in_Windows_7). Any other hints? – pinker Mar 01 '14 at 00:03
  • Then that area is no longer externsible. – Raymond Chen Mar 01 '14 at 01:10
  • DON'T RE-POST the [same question again](http://stackoverflow.com/q/22082067/1523648). Instead, edit the question to add details when needed. – oberlies Apr 03 '14 at 13:24
  • though quite error prone, I figured this out, I can send u a copy of my code if u still need this. PS. i do this in C++. @pinker – Sean Aug 03 '14 at 09:24
  • @Sean, I would really appreciate if you send me your solution. – pinker Aug 11 '14 at 10:16
  • @pinker what's your mailbox addr? cannot find one in your profile. – Sean Aug 15 '14 at 05:29
  • @Sean: is danieladacruz @ gmail.com – pinker Aug 15 '14 at 08:30
  • @Sean I also want to know how to implement it in C++. Could you send me a copy of your code if possible? – waterd Nov 15 '22 at 02:23

1 Answers1

3

You must implement IDockingWindow. Result will be look like this:

enter image description here

One of the scenario:

1) Create BHO with IObjectWithSite support.

2) Inside IObjectWithSite.SetSite call Site.QueryInterface(IServiceProvider, ServiceProvider)

3)Then call ServiceProvider.QueryService(SID_SShellBrowser, IDockingWindowFrame, DockingWindowFrame).

4) Then call DockingWindowFrame.AddToolbar with your object that implements IDockingWindow and IObjectWithSite.

5) Inside IObjectWithSite of your object call QueryInterface(IDockingWindowSite, DockingWindowSite)

Other detail you can find in the MSDN.

Denis Anisimov
  • 3,297
  • 1
  • 10
  • 18
  • Thanks a lot for your reply @Denis. I have the following code: `object webBrowser; provider.QueryService(ref guid, ref riid, out webBrowser); this.explorer = webBrowser as InternetExplorer;` How do I change it to get the Explorer windows instead of InternetExplorer? – pinker Mar 02 '14 at 16:50
  • Which interface you want to receive? – Denis Anisimov Mar 02 '14 at 17:08
  • I want to get a pointer to the Windows Explorer and not the InternetExplorer. Should I use `ShellBrowserWindow`? Thanks a lot. I am new in writing these kind of things. – pinker Mar 02 '14 at 17:10
  • What you mean when you write "get a pointer to the Windows Explorer"? What do you want to do? If you want to add new panel to Explorer just use the code I wrote in the answer. – Denis Anisimov Mar 02 '14 at 17:14
  • Ok. I suppose I am doing it wrong. Can you give me some pointers of some code doing something similar? – pinker Mar 02 '14 at 17:23
  • Hey guys, I am now trying to do the exact same thing here, but in C++ instead. I find Denis' instructions are not easy for me to follow. I tried the methods, but I'm sutck at how to properly call AddToolBar cuz I don't know when and how to create my window cuz I don't know how to get a parent window(the explorer)'s hanlde, I mean I can't just create a window and show it , right? Could u kindly please elaborate this in more details ? Thanks a lot guys!! @pinker – Sean Jul 27 '14 at 09:01
  • Hi @Sean. Unfortunately I was unable to go further with this. I didn't find the help I needed. – pinker Jul 28 '14 at 14:42