'***************************************************************************
****************
'***************************************************************************
****************
'**
**
'** DISEÑADO POR: GLVB
**
'** SISTEMA: PROYECTO X SERVIDOR
**
'** OBJETO: LIBRERIA DE FUNCIÓN PARA LECTURA DE DIRECTORIOS ESPECIALES
**
'** VERSIÓN: 1
**
'** INCREMENTO: 2
**
'** REVISIÓN: 0
**
'**
**
'***************************************************************************
****************
'***************************************************************************
****************


Option Explicit
Option Compare Text


'CONSTANTE DEL TAMAÑO MÁXIMO DE NOMBRES DE DIRECTORIO
Private Const MAX_PATH = 260


'ENUMERACIÓN DE DIRECTORIOS DEL SISTEMA
Public Enum Enumeración_De_Directorios_Del_Sistema
    ESCRITORIO = 0
    DESCONOCIDO1 = 1
    INICIO_PROGRAMA_USUARIO = 2
    PANEL_DE_CONTROL = 3
    IMPRESORAS = 4
    MIS_DOCUMENTOS_USUARIO = 5
    FAVORITOS_USUARIO = 6
    INICIO_INICIO_USUARIO = 7
    DOCUMENTOS_RECIENTES_USUARIO = 8
    ENVIAR_A_USUARIO = 9
    DESCONOCIDO2 = 10
    MENÚ_DE_INICIO = 11
    DESCONOCIDO3 = 12
    MI_MÚSICA = 13
    DESCONOCIDO5 = 14
    PAPELERA_DE_RECICLAJE = 15
    ESCRITORIO_USUARIO = 16
    MI_COMPUTADORA = 17
    ENTORNO_DE_RED = 18
    ENTORNO_DE_RED_USUARIO = 19
    TIPO_DE_LETRA = 20
    PLANTILLAS = 21
    INICIO_TODOS_NT = 22
    INICIO_PROGRAMAS_TODOS_NT = 23
    INICIO_INICIO_TODOS_NT = 24
    ESCRITORIO_TODOS_NT = 25
    DATOS_DE_APLICACIÓN_USUARIO = 26
    ENTORNO_DE_IMPRESORAS = 27
    DATOS_DE_APLICACIÓN_LOCALES = 28
    INICIO_NO_LOCALIZADOS = 29
    INICIO_NO_LOCALIZADOS_NT = 30
    FAVORITOS_TODOS_NT = 31
    TEMPORAL_DE_INTERNET = 32
    GALLETAS_INTERNET = 33
    HISTÓRICO_INTERNET = 34
    DATOS_DE_APLICACIÓN_TODOS_NT = 35
    WINDOWS = 36
    SISTEMA_DE_WINDOWS = 37
    ARCHIVOS_DE_PROGRAMA = 38
    MIS_IMÁGENES = 39
    PERFILES = 40
    SISTEMA_DE_WINDOWS2 = 41
    DESCONOCIDO7 = 42
    ARCHIVOS_COMUNES = 43
End Enum


'DECLARACIÓN DE API DE WINDOWS PARA RECUPERAR LA RUTA DE LOS DIRECTORIOS DEL
SISTEMA
Private Declare Function SHGetSpecialFolderPath Lib "shell32.dll" Alias
"SHGetSpecialFolderPathA" (ByVal hWnd As Long, ByVal sPath As String, ByVal
Folder As Long, ByVal Create As Long) As Long


'DECLARACION DE FUNCIÓN PARA LOS PROCESOS, DEVULEVE EL DIRECTORIO QUE SE LE
PIDE
Public Function RutaDirectorio(ByVal IdVentana As Long, ByVal Directorio As
Enumeración_De_Directorios_Del_Sistema, ByVal Crear As Boolean) As String
    Dim XRuta As String
    On Error Resume Next
    XRuta = String$(MAX_PATH + 1, 0)
    SHGetSpecialFolderPath IdVentana, XRuta, Directorio, Crear
    XRuta = Left$(XRuta, InStr(XRuta, Chr$(0)) - 1)
    If Len(Trim(XRuta)) < 3 Then XRuta = vbNullString
    RutaDirectorio = XRuta
End Function







    Source: geocities.com/es/ensolva/Descargas/Documentos

               ( geocities.com/es/ensolva/Descargas)                   ( geocities.com/es/ensolva)                   ( geocities.com/es)