Solved

Open windows explorer from VB.net

Posted on 2004-09-29
10
11,553 Views
Last Modified: 2012-08-13
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
Comment
Question by:GarethWham
  • 3
  • 3
  • 2
  • +2
10 Comments
 
LVL 27

Expert Comment

by:planocz
ID: 12181362
Try this...

Imports InetCtlsObjects

Microsoft Internet Transfer Control 6.0 (SP4)  <----- THE DLL
0
 
LVL 28

Expert Comment

by:iboutchkine
ID: 12181724
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
 

Author Comment

by:GarethWham
ID: 12188041
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
 
LVL 28

Expert Comment

by:iboutchkine
ID: 12188928
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
 
LVL 5

Expert Comment

by:naiea1231
ID: 12190009
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
Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

 

Author Comment

by:GarethWham
ID: 12198501
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
 
LVL 28

Accepted Solution

by:
iboutchkine earned 500 total points
ID: 12198888
did you try
System.Diagnostics.Process.Start("Explorer.exe", "c:\data")
0
 
LVL 5

Expert Comment

by:naiea1231
ID: 12200836
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
 

Author Comment

by:GarethWham
ID: 12217415
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
 
LVL 4

Expert Comment

by:eozz_2000
ID: 12232770
Shell("Explorer.exe " & """" & "C:\Archivos de Programa" & """", AppWinStyle.MaximizedFocus)
0

Featured Post

Find Ransomware Secrets With All-Source Analysis

Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

Join & Write a Comment

This tutorial demonstrates one way to create an application that runs without any Forms but still has a GUI presence via an Icon in the System Tray. The magic lies in Inheriting from the ApplicationContext Class and passing that to Application.Ru…
Microsoft Reports are based on a report definition, which is an XML file that describes data and layout for the report, with a different extension. You can create a client-side report definition language (*.rdlc) file with Visual Studio, and build g…
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …

758 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

23 Experts available now in Live!

Get 1:1 Help Now