2009-11-03 17 views
5

¿Hay alguna forma de que un diálogo de archivo abierto use "Mi PC" en lugar de una ruta específica? En este ejemplo, la unidad W: es el directorio inicial.MyComputer como directorio inicial

Dim dlgOpen As New Microsoft.Win32.OpenFileDialog 

    dlgOpen.Filter = "Bases de données Access(*.mdb)|*.mdb" 
    dlgOpen.InitialDirectory = "W:" 

Calculo que debe haber un valor o función que devuelve la ruta Mi PC, pero ¿qué es?

Gracias

Respuesta

17

Mi computadora es una carpeta virtual. Tiene un GUID predefinido. Así es como se obtiene en Mi PC

OpenFileDialog d = new OpenFileDialog(); 
d.InitialDirectory = "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}"; 
d.ShowDialog(); 

Si usted quiere saber acerca de las carpetas especiales

http://msdn.microsoft.com/en-us/library/system.environment.specialfolder.aspx

pero estar al tanto de

La constante siempre MiEquipo produce la cadena vacía ("") porque no se define la ruta para la carpeta Mi PC.

+1

... Vaya manera de cambiar algo así como 'Mi PC' en algo mucho más claro :) –

4

Una buena manera de manejar esto es usar las "carpetas especiales" en la biblioteca de entorno .NET.

Por ejemplo, los "Mis documentos" (personal) utilizaría:

Environment.GetFolderPath(Environment.SpecialFolder.Personal) 
+0

He intentado esto, pero esto doensn't parece funcionar: dlgOpen.InitialDirectory = Environment.GetFolderPath (Environment.SpecialFolder.MyComputer) –

+0

Svetlozar Angelov es correcto ... parece que "Mi computadora" no está definida ... – chills42

+0

Personal is My Documents ... –