Hi, 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 to SHOpenFolderAndSelectItems. 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 mechanism? Thanks, Jon
Jon Potter wrote: > 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. 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
Thanks very much Jim!