¿Cómo obtener la ruta de la carpeta Usuarios desde el servicio de Windows en MS Vista? Pienso en la ruta del directorio C: \ Users, pero puede ser una ubicación diferente, depende de la localización del sistema.Obtención de la ruta del directorio de usuarios
Respuesta
Eche un vistazo a Environment.SpecialFolder Enumeration, p.
Environment.GetFolderPath(Environment.SpecialFolder.CommonDesktopDirectory);
Ajuste para la carpeta especial que desee. Sin embargo, al leer otra publicación encontrada here, parece que puede necesitar hacer una pequeña manipulación de la cadena si quiere exactamente c: \ users en lugar de c: \ users \ public, por ejemplo.
System.Environment.SpecialFolder le dará acceso a todas estas carpetas que desee, como Mis documentos, etc ..
Si utiliza el PerfilUsuario SpecialFolder, que debe darle la ruta a su perfil bajo Usuarios.
string userPath = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);
System.Environment.GetFolderPath (System.Environment.SpecialFolder.Personal)
no puedo ver que la función expuesta a .NET, pero en C (++) sería
SHGetKnownFolderPath(FOLDERID_UserProfiles, ...)
La mejor manera que @Neil señaló es usar SHGetKnownFolderPath()
con el FOLDERID_UserProfiles
. Sin embargo, C# no tiene eso. Pero, no es tan difícil invocarlo:
using System;
using System.Runtime.InteropServices;
namespace SOExample
{
public class Main
{
[DllImport("shell32.dll")]
static extern int SHGetKnownFolderPath([MarshalAs(UnmanagedType.LPStruct)] Guid rfid, uint dwFlags, IntPtr hToken, out IntPtr pszPath);
private static string getUserProfilesPath()
{
// https://msdn.microsoft.com/en-us/library/windows/desktop/dd378457(v=vs.85).aspx#folderid_userprofiles
Guid UserProfilesGuid = new Guid("0762D272-C50A-4BB0-A382-697DCD729B80");
IntPtr pPath;
SHGetKnownFolderPath(UserProfilesGuid, 0, IntPtr.Zero, out pPath);
string path = System.Runtime.InteropServices.Marshal.PtrToStringUni(pPath);
System.Runtime.InteropServices.Marshal.FreeCoTaskMem(pPath);
return path;
}
static void Main(string[] args)
{
string path = getUserProfilesPath(); // C:\Users
}
}
}
- 1. Obtención de la ruta del archivo del módulo importado
- 2. Obtención de la ruta a los usuarios Carpeta de la biblioteca en OS X
- 3. Ruta del directorio local
- 4. Eliminar un directorio de la ruta completa del directorio
- 5. Obtención de la ruta del archivo en java
- 6. Obtención de una ruta virtual relativa desde la ruta física
- 7. ¿Cómo obtener la ruta del directorio Programas de Inicio?
- 8. Obtención de la ruta de una secuencia de comandos R
- 9. Obtención de la ruta del sistema de archivos de la aplicación IIS
- 10. Rails ¿Ruta del directorio raíz?
- 11. PHP ruta del directorio recursivo
- 12. Ruta de directorio común del archivo MAKE
- 13. ¿Ruta del directorio de escritorio multiplataforma?
- 14. Obtención de NppExec para comprender la ruta del archivo actual en Notepad ++ (para scripts de Python)
- 15. Obtención de nombre (s) de carpeta de la ruta
- 16. Estructura del directorio del proyecto django y la ruta python
- 17. Obteniendo la ruta del directorio de inicio en C#?
- 18. Obteniendo la ruta del directorio de .NET Framework
- 19. Obtención de la ruta de acceso absoluta de un archivo
- 20. ¿Cómo puedo obtener una lista de usuarios del directorio activo?
- 21. ¿La ruta es un directorio?
- 22. Obtención de la ruta Mis documentos en Java
- 23. Posible especificar la ruta del directorio con un comodín?
- 24. Cambiar la ruta del directorio estático en webpy
- 25. Cómo obtener/establecer la ruta del directorio lógico en python
- 26. Cómo obtener la ruta física del directorio virtual
- 27. Detectar si la ruta del usuario tiene un directorio específico
- 28. para mostrar sólo el nombre del archivo sin la totalidad de la ruta del directorio
- 29. IIS 7 - ¿Ruta de redireccionamiento del directorio virtual?
- 30. boost :: ruta relativa del sistema de archivos y directorio actual?
¿Desea la ruta particular de inicio para un usuario en particular? No hay garantía de que todos los usuarios tengan sus carpetas de inicio en la misma ubicación. (Carpetas hogareñas remotas, por ejemplo). –