'*************************************************************************** **************** '*************************************************************************** **************** '** ** '** 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