Solved

Open windows explorer from VB.net

Posted on 2004-09-29
10
11,608 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
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
 

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

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Well, all of us have seen the multiple EXCEL.EXE's in task manager that won't die even if you call the .close, .dispose methods. Try this method to kill any excels in memory. You can copy the kill function to create a check function and replace the …
Introduction As chip makers focus on adding processor cores over increasing clock speed, developers need to utilize the features of modern CPUs.  One of the ways we can do this is by implementing parallel algorithms in our software.   One recent…

749 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