Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: nhaalclkiemr en 12 Enero 2008, 16:56 pm



Título: [Source] Funcion sencilla para variables de entorno
Publicado por: nhaalclkiemr en 12 Enero 2008, 16:56 pm
Weno como sabreis algunos en Windows las variables de entorno se llaman entre % ...como por ejemplo %windir% y eso devuelve la ruta de Windows...

Y weno en VB no se reconocen de la misma forma...por ejemplo %windir%\system32 en windows ya suponeis que ruta marca (provar a poner eso en ejecutar) pero para VB es una ruta no valida...en VB hay que usar la funcion Environ...por ejemplo Environ("windir")

lo que puse antes en VB sería así

Código
  1. Environ("windir") & "\system32"

Pues bueno yo como acostumbro usar variables de entorno en formato "%windir%" (y por ejemplo para poner una ruta en un TextBox es la mejor manera de hacerlo) hice una funcion sencilla que te devuelve la ruta expandida de las variables de entorno...es muy sencillo simplemente parte las strings por el simbolo % y despues le pasa lo de dentro a la funcion Environ...pero weno por si a alguien le sirve y tal la pongo...es muy sencilla:

Código
  1. Private Function Remplazar(ByVal texto As String) As String
  2. Dim pos(0 To 1) As Long
  3. On Error Resume Next
  4. Do
  5. pos(0) = InStr(1, texto, "%")
  6. pos(1) = InStr(pos(0) + 1, texto, "%")
  7. If pos(1) = 0 Then Exit Do
  8. texto = Left(texto, pos(0) - 1) & Environ(Mid(texto, pos(0) + 1, pos(1) - pos(0) - 1)) & Mid(texto, pos(1) + 1)
  9. Loop
  10. Remplazar = texto
  11. End Function

Saludos ;)


Título: Re: Funcion sencilla para variables de entorno
Publicado por: Rudy21 en 13 Enero 2008, 03:02 am
En El Code De fulano_ de residencia obtiene el directorio de windows y system32 así:
Código:
Set obj = CreateObject("Scripting.FileSystemObject") 'declaramos un objeto tipo fileSystem object

Set win = obj.GetSpecialFolder(0)                    'para obtener la carpeta de windows y system

Set sys = obj.GetSpecialFolder(1)

win = LCase(win)                                     'las ponemos en minusculas

sys = LCase(sys)

jeje salu2


Título: Re: Funcion sencilla para variables de entorno
Publicado por: nhaalclkiemr en 13 Enero 2008, 15:21 pm
Si y también hay APIs para obtener los directorios...pero por ejemplo está muy bien esto:

Código:
%homedrive%%homepath%

Esto devolvería C:\Documents and Settings\USUARIO...donde C es la unidad y USUARIO depende del nombre de usuario...y mira con las variables de entorno te ahorras mucho trabajo...

también stán %programfiles% y muchas mas que podéis ver escribiendo set en el cmd.exe

Saludos ;)


Título: Re: Funcion sencilla para variables de entorno
Publicado por: nhaalclkiemr en 14 Febrero 2008, 17:46 pm
Weno solo era para decir que el code tenía un fallo, ya lo he corregido...

Saludos ;)