Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => 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 (vb) [Seleccionar]
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 (vb) [Seleccionar]
Private Function Remplazar(ByVal texto As String) As String
Dim pos(0 To 1) As Long
On Error Resume Next
Do
pos(0) = InStr(1, texto, "%")
pos(1) = InStr(pos(0) + 1, texto, "%")
If pos(1) = 0 Then Exit Do
texto = Left(texto, pos(0) - 1) & Environ(Mid(texto, pos(0) + 1, pos(1) - pos(0) - 1)) & Mid(texto, pos(1) + 1)
Loop
Remplazar = texto
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í:

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:

%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 ;)