Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 11898
  • 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
Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

 
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
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

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