Code: Select all
For pExp in ComObjCreate("Shell.Application").Windows
{
if (pExp.hwnd = hwnd) { ; matching window found
pExp.Navigate(FullPath) ; *** DOES NOT ACCEPT CLSID IN THE FORMAT "::{F02C1A0D-BE21-4350-88B0-7367FC96EF3C}"
return
}
}
I was planning to use this method to navigate an Explorer to a system or virtual folders identified by CLSID like Network "{F02C1A0D-BE21-4350-88B0-7367FC96EF3C}", My Computer "{20D04FE0-3AEA-1069-A2D8-08002B30309D}" or tens of other useful resources.
The issue is that the .Navigate method does not accept CLSID as parameter. The alternative method .Navigate2 does not either. I know these addresses work with the Run command (try Run, ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}). But I want to navigate the current Explorer? Do you know any other method to navigate an Explorer window to a CLSID address?
There is the SendInput ({F4} etc.) method that could do it but it proved to be much less reliable than the Explorer object Navigate method.
Thanks for any input on this issue.
Jean