I have an application which has an option to show the selected file in the folder in which the file resides. My question is, how do I achieve this?
To clarify, if a user in my program selected the "Test.txt" file, then I want a Windows Explorer window to pop up and highlight the file the user selected. You can see similar behavior in LimeWire and uTorrent. If you select a file in either of those programs and choose "Show in Folder", it pops up a Windows Explorer window with the file highlighted and selected. I am trying to duplicate this behavior.
I tried using the following line:
System.Diagnostics.Process.Start("Explorer");
This will popup the Windows Explorer window, however, it always seems to open up by default in "My Documents" folder.
For VB:
As others have pointed out, paths containing spaces must be enclosed in quotes.
There is a documented API to do this: SHOpenFolderAndSelectItems. Who knows, it might even do the right thing when explorer is not the default shell :)
You could construct the folder path in a string, then send it to the windows command line to browse.
http://www.c-sharpcorner.com/UploadFile/DipalChoksi/ShellCommandsInCS12032005042031AM/ShellCommandsInCS.aspx
Here you go,
Note: Adding
\"
before and after the{0}
parameter enables thefileToSelect
string to contain spaces (i.e. "C:\My Documents").From this Thread:
Programmatically select multiple files in windows explorer
Cheers,