[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 11820
  • Last Modified:

Open windows explorer from VB.net

Help!

I need to open windows explorer from vb.net project. Also when I open windows explorer I wish for it to display a particular folder.

Now, I am unsure whether this can be done, but I need a solution fairly urgently hence the points!

Many thanks in advance,

Regards,

Gareth
0
GarethWham
Asked:
GarethWham
  • 3
  • 3
  • 2
  • +2
1 Solution
 
planoczCommented:
Try this...

Imports InetCtlsObjects

Microsoft Internet Transfer Control 6.0 (SP4)  <----- THE DLL
0
 
iboutchkineCommented:
try this
Shell("c:\windows\explorer " & URL)

or this

System.Diagnostics.Process.Start("Explorer.exe", "c:\data")

EXPLORER.EXE [/n][/e][,/root,<object>][[,/select],<sub object>]
Switches
/n:  Opens a new window in single-paned (My Computer) view for each item
     selected, even if the new window duplicates a window that is
     already open.

/e:  Uses Windows Explorer view. Windows Explorer view is most similar
     to File Manager in Windows version 3.x. Note that the default view
     is Open view.

/root,<object>:  Specifies the root level of the specified view. The
                 default is to use the normal namespace root (the
                 desktop). Whatever is specified is the root for the
                 display.

/select,<sub object>:  Specifies the folder to receive the initial
                       focus. If "/select" is used, the parent folder
                       is opened and the specified object is selected.
            
0
 
GarethWhamAuthor Commented:
iboutchkine,

Thanks for your post. I used shell to open explorer using the following code:

Shell("C:\windows\explorer", vbMaximizedFocus)

I want to point explorer to a particular folder do I use /select? how do you write <sub object>, if you use select.#

Could you possibly give me the code for, say opening My Pictures as it is usually general path via (My Documents/My Pictures).

Many thanks for your help so far,

Gareth
0
[Webinar] Improve your customer journey

A positive customer journey is important in attracting and retaining business. To improve this experience, you can use Google Maps APIs to increase checkout conversions, boost user engagement, and optimize order fulfillment. Learn how in this webinar presented by Dito.

 
iboutchkineCommented:
Try to use Explorer switches

EXPLORER.EXE [/n][/e][,/root,<object>][[,/select],<sub object>]
Switches
/n:  Opens a new window in single-paned (My Computer) view for each item
     selected, even if the new window duplicates a window that is
     already open.

/e:  Uses Windows Explorer view. Windows Explorer view is most similar
     to File Manager in Windows version 3.x. Note that the default view
     is Open view.

/root,<object>:  Specifies the root level of the specified view. The
                 default is to use the normal namespace root (the
                 desktop). Whatever is specified is the root for the
                 display.

/select,<sub object>:  Specifies the folder to receive the initial
                       focus. If "/select" is used, the parent folder
                       is opened and the specified object is selected.



Shell("C:\windows\explorer  c:\test", vbMaximizedFocus)


0
 
naiea1231Commented:
You can work out the directories of special folders like my pictures, my documents and favourites by using

SpecialFolder = new DirectoryInfo(System.Environment.GetFolderPath(Environment.SpecialFolder.Favorites)
0
 
GarethWhamAuthor Commented:
I know the paths of the folder but how do you actually write the code for it I have tried:

Shell("C:\windows\explorer""C:\My Documents\Document1.doc")

But cant get it to work.

If a use select switch how do I write in 'sub object'?  

/select,<sub object>:  Specifies the folder to receive the initial
                       focus. If "/select" is used, the parent folder
                       is opened and the specified object is selected.

Cant get the code to work using /select,("C:\My Documents\Document1.doc")

Thanks

Gareth
0
 
iboutchkineCommented:
did you try
System.Diagnostics.Process.Start("Explorer.exe", "c:\data")
0
 
naiea1231Commented:
Gareth, you just need to remove the "" in your above code, or use the & sign like below

Shell("C:\windows\explorer " & "C:\My Documents\Document1.doc")

Adding the vbMaximizedFocus can also be useful in order to force the window to come up in front, give that a go
0
 
GarethWhamAuthor Commented:
Hello,

Thanks all for your comments.
I have tried using shell but have been unsuccessful. I have manged to open explorer and point to the foldr I want using 'iboutchkine's suggestion of:

System.Diagnostics.Process.Start("Explorer.exe", "c:\data")

However, when the explorer window opens I want its focus to be maximized. I have tried ',vbMaximizedFocus' but vb.net says that this line of code has too many arguments?

Any suggestions,

Cheers,

Gareth
0
 
eozz_2000Commented:
Shell("Explorer.exe " & """" & "C:\Archivos de Programa" & """", AppWinStyle.MaximizedFocus)
0

Featured Post

Learn to develop an Android App

Want to increase your earning potential in 2018? Pad your resume with app building experience. Learn how with this hands-on course.

  • 3
  • 3
  • 2
  • +2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now