elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  [Aporte] EnvironEx
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] 3 Ir Abajo Respuesta Imprimir
Autor Tema: [Aporte] EnvironEx  (Leído 12,306 veces)
Dessa


Desconectado Desconectado

Mensajes: 624



Ver Perfil
Re: [Aporte] EnvironEx
« Respuesta #10 en: 18 Septiembre 2010, 22:58 pm »

Gracias BlackZeroX , eso queria saber


Si no utiliza el indicador CSIDL_FLAG_CREATE:
si la carpeta no existe, la función de SHGetFolder devuelve S_FALSE y nada se coloca en el búfer de cadena.





En línea

Adrian Desanti
BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: [Aporte] EnvironEx
« Respuesta #11 en: 18 Septiembre 2010, 23:11 pm »

.
Entonces quedo asi...

Código
  1.  
  2. Public Function EnvironEx(ByVal nCode As CSIDL) As String
  3. Dim str_Return As String * MAX_PATH
  4.    SHGetFolderPath &H0, nCode, &H0, &H0, str_Return$
  5.    EnvironEx = Left$(str_Return$, InStr(1, str_Return$, Chr(0)) - 1)   '   //  Resto 1 para quitar el ultimo Chr(0).
  6. End Function
  7.  
  8.  

Dulces Lunas!¡.


En línea

The Dark Shadow is my passion.
Dessa


Desconectado Desconectado

Mensajes: 624



Ver Perfil
Re: [Aporte] EnvironEx
« Respuesta #12 en: 18 Septiembre 2010, 23:33 pm »

Yo la tenía parecida (siempre me olvido de los  &H0 en lugar del 0, luego los cambio)

Una duda desde siempre, estária  bien sRet o igual debe usarse  MAX_PATH ?

Código:

Public Function ShEnviron(nCode As CSIDL) As String
   Dim sRet As String * 260
   Call SHGetFolderPath(0, nCode, 0, 0, sRet)
   ShEnviron = Split(sRet, Chr$(0))(0)
End Function








« Última modificación: 18 Septiembre 2010, 23:38 pm por Dessa » En línea

Adrian Desanti
BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: [Aporte] EnvironEx
« Respuesta #13 en: 18 Septiembre 2010, 23:41 pm »

.
MAX_PATH

La ruta maxima de windows es de 260 caracteres, si intentas meter una ruta mayor da error (Rutas de Archivos...), en la api no hay problema, pero como ya sabemos que el maximo que puede devolver es de 260 caracteres entonces no tiene caso aumentar el buffer, solo seria un gasto inesesario de memoria, ademas es una ruta de una carpeta donde seguro habra mas carpetas y archivos...

Dulces Lunas!¡.
« Última modificación: 18 Septiembre 2010, 23:48 pm por BlackZeroX » En línea

The Dark Shadow is my passion.
Dessa


Desconectado Desconectado

Mensajes: 624



Ver Perfil
Re: [Aporte] EnvironEx
« Respuesta #14 en: 18 Septiembre 2010, 23:47 pm »

Aclarado, entonces MAX_PATH.





En línea

Adrian Desanti
Petro_Boca

Desconectado Desconectado

Mensajes: 233


Antoo Te Amoo :D


Ver Perfil
Re: [Aporte] EnvironEx
« Respuesta #15 en: 19 Septiembre 2010, 04:00 am »

si con este modulo quiero saber cual es C:\Windows\system32 , como tengo q hacer O.O?
En línea

xkiz ™


Desconectado Desconectado

Mensajes: 1.252


Ver Perfil WWW
Re: [Aporte] EnvironEx
« Respuesta #16 en: 19 Septiembre 2010, 04:07 am »

creo que CSIDL_SYSTEM

http://msdn.microsoft.com/en-us/library/bb762494%28v=VS.85%29.aspx
En línea

Petro_Boca

Desconectado Desconectado

Mensajes: 233


Antoo Te Amoo :D


Ver Perfil
Re: [Aporte] EnvironEx
« Respuesta #17 en: 19 Septiembre 2010, 04:09 am »


sisi yase, pero me devuelve numeros :/
En línea

Dessa


Desconectado Desconectado

Mensajes: 624



Ver Perfil
Re: [Aporte] EnvironEx
« Respuesta #18 en: 19 Septiembre 2010, 04:17 am »

Código:


Option Explicit
Private Declare Function SHGetFolderPath Lib "shfolder" Alias "SHGetFolderPathA" (ByVal hwndOwner As Long, ByVal nFolder As Long, ByVal hToken As Long, ByVal dwFlags As Long, ByVal pszPath As String) As Long
Private Const MAX_PATH = 260

Private Sub Form_Load()
   
   Dim sRet As String * MAX_PATH
   Call SHGetFolderPath(0, &H25, 0, 0, sRet)
   MsgBox Split(sRet, Chr$(0))(0)

End Sub




En línea

Adrian Desanti
Petro_Boca

Desconectado Desconectado

Mensajes: 233


Antoo Te Amoo :D


Ver Perfil
Re: [Aporte] EnvironEx
« Respuesta #19 en: 19 Septiembre 2010, 04:25 am »

Código:


Option Explicit
Private Declare Function SHGetFolderPath Lib "shfolder" Alias "SHGetFolderPathA" (ByVal hwndOwner As Long, ByVal nFolder As Long, ByVal hToken As Long, ByVal dwFlags As Long, ByVal pszPath As String) As Long
Private Const MAX_PATH = 260

Private Sub Form_Load()
   
   Dim sRet As String * MAX_PATH
   Call SHGetFolderPath(0, &H25, 0, 0, sRet)
   MsgBox Split(sRet, Chr$(0))(0)

End Sub






la variable seria el &H25 ?
En línea

Páginas: 1 [2] 3 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
pequeño aporte
Programación Visual Basic
demon_cry 0 1,147 Último mensaje 12 Junio 2006, 09:38 am
por demon_cry
Mi aporte :USBCnfg
Programación Visual Basic
Anteros 1 1,452 Último mensaje 15 Noviembre 2006, 04:07 am
por satan69
[ Nuevo aporte ] « 1 2 »
Programación Visual Basic
d(-_-)b 11 4,038 Último mensaje 25 Julio 2007, 16:00 pm
por Tengu
pequeño aporte(proxy),pero aporte al fin.:D
Programación Visual Basic
Tengu 0 2,370 Último mensaje 22 Julio 2007, 17:33 pm
por Tengu
Aporte
Ingeniería Inversa
R6ID 0 2,169 Último mensaje 28 Febrero 2008, 11:35 am
por R6ID
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines