Conocer el directorio local del usuario en Documents and Settings

15/09/2004 - 18:00 por MavericK | Informe spam
Pues eso, saber en que directorio puedo grabar la configuración del usuario
actual, para que viaje en el perfil móvil del dominio.

He mirado en el grupo y en Internet, pero no encuentro nada al respecto.
Tampoco se puede hacer a capón, e ir directamente al directorio Documents
and Settings porque se puede modificar.

Con el comando SET del DOS muestra el parámetro USERPROFILE la dirección,
hay alguna clase para obtener este valor?

Gracias,


Maverick
 

Leer las respuestas

#1 Eduardo A. Morcillo [MS MVP VB]
15/09/2004 - 20:02 | Informe spam
MavericK wrote:
Pues eso, saber en que directorio puedo grabar la configuración del
usuario actual, para que viaje en el perfil móvil del dominio.

He mirado en el grupo y en Internet, pero no encuentro nada al
respecto. Tampoco se puede hacer a capón, e ir directamente al
directorio Documents and Settings porque se puede modificar.

Con el comando SET del DOS muestra el parámetro USERPROFILE la
dirección, hay alguna clase para obtener este valor?



Puedes obtener el valor de USERPROFILE con
Environment.GetEnvironmentVariable. Uno esperaria poder hacerlo con
Environment.GetFolderPath pero por algun motivo la enumeracion SpecialFolder
no contiene todas las carpetas especial por las que se podria preguntar.

Sin embargo, desde el punto de vista de .net lo que se deberia usar es el
namespace System.IO.IsolatedStorage que maneja la ubicacion internamente.
Por ejemplo para escribir un archivo que se guarde en el perfil movil del
usuario harias asi:

Dim isolatedFile As IsolatedStorageFile

' Obtengo el almacen
isolatedFile = IsolatedStorageFile.GetStore( _
IsolatedStorageScope.Roaming Or _
IsolatedStorageScope.User Or _
IsolatedStorageScope.Domain Or _
IsolatedStorageScope.Assembly, Nothing, Nothing)

' Abro el archivo para escritura
Dim stream As New IsolatedStorageFileStream("prueba.txt",
IO.FileMode.Create, isolatedFile)
Dim writer As New StreamWriter(stream)
writer.Write("Esta es una prueba")
writer.Close()

'Abro el archivo para lectura
stream = New IsolatedStorageFileStream("prueba.txt", IO.FileMode.Open)
Dim reader As New IO.StreamReader(stream)
MessageBox.Show(reader.ReadToEnd())
reader.Close()

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo

Preguntas similares