Autor
|
Tema: [Aporte] EnvironEx (Leído 13,130 veces)
|
Dessa
Desconectado
Mensajes: 624
|
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
Mensajes: 3.158
I'Love...!¡.
|
. Entonces quedo asi... Public Function EnvironEx(ByVal nCode As CSIDL) As String Dim str_Return As String * MAX_PATH SHGetFolderPath &H0, nCode, &H0, &H0, str_Return$ EnvironEx = Left$(str_Return$, InStr(1, str_Return$, Chr(0)) - 1) ' // Resto 1 para quitar el ultimo Chr(0). End Function
Dulces Lunas!¡.
|
|
|
En línea
|
The Dark Shadow is my passion.
|
|
|
Dessa
Desconectado
Mensajes: 624
|
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 ? 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
Mensajes: 3.158
I'Love...!¡.
|
. 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
Mensajes: 624
|
Aclarado, entonces MAX_PATH.
|
|
|
En línea
|
Adrian Desanti
|
|
|
Petro_Boca
Desconectado
Mensajes: 233
Antoo Te Amoo :D
|
si con este modulo quiero saber cual es C:\Windows\system32 , como tengo q hacer O.O?
|
|
|
En línea
|
|
|
|
|
Petro_Boca
Desconectado
Mensajes: 233
Antoo Te Amoo :D
|
sisi yase, pero me devuelve numeros :/
|
|
|
En línea
|
|
|
|
Dessa
Desconectado
Mensajes: 624
|
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
Mensajes: 233
Antoo Te Amoo :D
|
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
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
pequeño aporte
Programación Visual Basic
|
demon_cry
|
0
|
1,284
|
12 Junio 2006, 09:38 am
por demon_cry
|
|
|
Mi aporte :USBCnfg
Programación Visual Basic
|
Anteros
|
1
|
1,617
|
15 Noviembre 2006, 04:07 am
por satan69
|
|
|
[ Nuevo aporte ]
« 1 2 »
Programación Visual Basic
|
d(-_-)b
|
11
|
4,609
|
25 Julio 2007, 16:00 pm
por Tengu
|
|
|
pequeño aporte(proxy),pero aporte al fin.:D
Programación Visual Basic
|
Tengu
|
0
|
2,590
|
22 Julio 2007, 17:33 pm
por Tengu
|
|
|
Aporte
Ingeniería Inversa
|
R6ID
|
0
|
2,341
|
28 Febrero 2008, 11:35 am
por R6ID
|
|