|Anonymous | Login | Signup for a new account||2018-07-17 23:49 PDT|
|Main | My View | View Issues|
|Viewing Issue Simple Details|
|ID||Category||Severity||Reproducibility||Date Submitted||Last Update|
|0000060||[litestep core] core||minor||always||2008-07-23 20:04||2011-11-28 09:08|
|Summary||0000060: Open Containing Folder in Search does nothing|
|Description||In explorers search results view, choosing "Open Containing Folder" from the context menu while running LS does nothing. Launching the file, and viewing the actual folder path works as it should.|
|Tags||No tags attached.|
This issue bothers me with audio software foobar2000. In contextual menu, there's a menu named "Open containing folder" which does not work and I think it's the same problem mentioned by xjill.
The foobar2000 team gives a clue: http://www.hydrogenaudio.org/forums/index.php?showtopic=67755 [^]
"Implement SHOpenFolderAndSelectItems properly"
|I can confirm this on Windows 2000 SP4. It makes no difference whether LSUseSystemDDE or LSSetAsShell is enabled.|
|The "Open file location" option which essentially replaced this "Open containing folder" works fine on Windows 7|
edited on: 2011-11-25 12:41
Just adding this here, so we don't lose the information...
From: http://www.eggheadcafe.com/microsoft/Platform-SDK-Shell/32763916/problem-trapping-shopenfolderandselectitems.aspx [^]
Problem trapping SHOpenFolderAndSelectItems
Asked By Jon Potter 31-Jul-08 02:52 AM
Our app is an "Explorer replacement" and we trap most calls to Explorer via
a Shell Execute Hook.
However we're having trouble trapping the "selection" information from calls
It seems to us that this calls ShellExecuteEx with lpVerb set to NULL and
lpIDList set to the IDL of the target folder. However we can't see any way
that the information about which child items to select is passed through.
Is this done via a DDE message or is it done via an internal shell
And the answer:
SHOpenFolderAndSelectItems looks for an existing shell window (using IShellWindows::FindWindowSW). If it can't find one, it creates a new one (using ShellExecuteEx) and waits for it to appear. Then it queries for IWebBrowserApp, calls get_Document, queries the document object for IShellFolderViewDual, and finally calls SelectItem.
Jim Barry, Microsoft MVP
Linking relevant forum thread with more info Tobbe:
Also some links he referenced in final post in-case thread/forum are unfortunately lost:
Finally, Tobbe's summary of the previous comment (taken from aforementioned forum thread):
Basically we need to have a "shell window", whatever that is, that can be queried for a IWebBrowserApp. A IWebBrowserApp is basically a COM interface to Internet Explorer, I use that for my LSActiveDesktop module but I'm not sure I got it right. I think it's leaking COM objects. The IWebBrowserApp needs a Document that has a IShellFolderViewDual, which I have no idea how to set up.
|2008-07-23 20:04||xjill||New Issue|
|2008-12-25 12:53||pirlouy||Note Added: 0000151|
|2008-12-29 11:49||ilmcuts||Relationship added||child of 0000068|
|2009-01-16 16:17||ilmcuts||Status||@10@ => feedback|
|2009-02-07 21:41||jugg||Note Added: 0000221|
|2009-02-07 21:41||jugg||Status||feedback => confirmed|
|2010-08-14 02:27||alur||Note Added: 0000271|
|2011-11-25 12:41||tobbe||Note Added: 0000284|
|2011-11-25 12:41||tobbe||Note Edited: 0000284|
|2011-11-28 09:08||Vyrolan||Note Added: 0000285|
|Copyright © 2000 - 2009 Mantis Group|