SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: acek en Miércoles 9 de Julio de 2008, 23:16

Título: Directorio Windows
Publicado por: acek en Miércoles 9 de Julio de 2008, 23:16
:hitcomp:  que tal compañeros!!!! como se encuentran, tengo una duda que me ha matado la cabeza y por mas que he buscado no la logro resolver, yo quiero acceder a informacion del sistema, mas puntualmente a esta :

Nombre del usuarion actualmente logiado  :rolleyes:
y al directorio C:/Windows o C:/Winnt segun sea el caso, ya q mi aplicacion sera ejecutada o en windows 2000 o xp.....
y tambien al directorio Mis documento directamente...... si ?  :P :P me colaboran por fa!!!!
Título: Re: Directorio Windows
Publicado por: acek en Miércoles 23 de Julio de 2008, 00:33
<_<  Bueno a falta de 1 respuesta me tope como 3.... jejeje aqui se las comparto me parece algo muy util mas q todo cuando se manejan archivos de configuracion .....

Por ejemplo este, en este caso traemos mis documentos
Código: Text
  1.  
  2. Dim WScript As Object
  3. Set WScript = CreateObject("WScript.Shell")
  4. ‘obtenemos la ruta del destino de Mis Documentos
  5. MsgBox WScript.SpecialFolders("MyDocuments")
  6. Set WScript = Nothing
  7.  
  8.  
en donde cada parametro es :
AllUsersDesktop
AllUsersStartMenu
AllUsersPrograms
AllUsersStartup
Desktop
Favorites
Fonts
MyDocuments
NetHood
PrintHood
Programs
Recent
SendTo
StartMenu
Startup
Templates

Me encontre este otro q tambn es bien interesante, lo use para el directorio de windows
Código: Text
  1.  
  2. Private Sub Form_Load()
  3.     Dim FSO
  4.     Set FSO = CreateObject("Scripting.FileSystemObject")
  5.    
  6.     'Esta devuelve el directorio de Windows
  7.     MsgBox FSO.GetSpecialFolder(0)
  8.  
  9.     'Esta devuelve el System32
  10.     MsgBox FSO.GetSpecialFolder(1)
  11.  
  12.     'Esta devuelve el TEMP
  13.     MsgBox FSO.GetSpecialFolder(2)
  14. End Sub
  15.  
  16.  
Y este extralargo usando el api de windows  :clown:
Código: Text
  1. Option Explicit
  2.  
  3. Public Declare Function GetWindowsDirectory Lib "kernel32" Alias
  4. "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long)
  5. As Long
  6. Public Declare Function GetSystemDirectory Lib "kernel32" Alias
  7. "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long)
  8. As Long
  9. Public Declare Function GetTempPath Lib "kernel32" Alias "GetTempPathA"
  10. (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long
  11. Public Enum SYS_Path
  12.     WINDOWS_DIR = 0
  13.     SYSTEM_DIR = 1
  14.     TEMP_DIR = 2
  15. End Enum
  16. Public Function SYS_GetPath(Path As SYS_Path) As String
  17. On Local Error Resume Next
  18. Dim Temp As String * 256
  19. Dim X As Integer
  20.    Select Case Path
  21.         Case 0 'Directorio Windows:
  22.             X = GetWindowsDirectory(Temp, Len(Temp))
  23.         Case 1 'Directorio System:
  24.             X = GetSystemDirectory(Temp, Len(Temp))
  25.         Case 2 'Directorio Temp (Directorio Temporal):
  26.             X = GetTempPath(Len(Temp), Temp)
  27.     End Select
  28.     SYS_GetPath = VBA.Left$(Temp, X)
  29.     If Path = TEMP_DIR Then SYS_GetPath = VBA.Left$(SYS_GetPath, Len(SYS_GetPath) - 1)
  30. End Function
  31.  
  32.  

Y pues segun lo q encontre, la mejor es la API ya q no vale la pena cargarse todo un script para eso :P....

Espero le sirva a alguien y no solo a mi  :good: