Option Explicit
'KERNEL32
Private Declare Function GetVersion Lib "KERNEL32" () As Long
'SHELL32
Private Declare Function SHGetUserPicturePath Lib "SHELL32" Alias "#261" (ByVal pUserOrPicName As Long, ByVal sguppFlags As Long, ByVal pwszPicPath As Long, ByVal picPathLen As Long) As Long
Private Declare Function xp_SHGetUserPicturePath Lib "SHELL32" Alias "#233" (ByVal pUserOrPicName As Long, ByVal sguppFlags As Long, ByVal pwszPicPath As Long) As Long
Private Const SGUPP_CREATEPICTURESDIR = &H80000000
Public Function LoadUserTile() As IPictureDisp
Dim sPath As String
sPath = String$(256, vbNullChar)
Select Case (GetVersion() And &HFF)
Case 5
Call xp_SHGetUserPicturePath(0, SGUPP_CREATEPICTURESDIR, StrPtr(sPath))
Case 6
Call SHGetUserPicturePath(0, SGUPP_CREATEPICTURESDIR, StrPtr(sPath), 256)
End Select
sPath = Left$(sPath, InStr(1, sPath, vbNullChar) - 1)
Set LoadUserTile = LoadPicture(sPath)
End Function
Para probarlo añade un PictureBox en un form:
Private Sub Form_Load()
Picture1.Picture = LoadUserTile()
End Sub
Usa un export no documentado de SHELL32.. que varía según el SO en el que estamos... por eso el GetVersion().
saludos
HOLA!!!
Kc: Muy bueno, pero lamentablemente el usuario casi nunca tiene actualizada esa foto, estaria bueno poder sacar la del perfil de msn, osea fijandose que cuentas tiene guardadas y yendo a su perfil live y de ahi extraer la imagen que sera mas descriptiva o sino extraer la imagen de facebook.
Mmm... me agrada la idea voy a ver que hago al respecto XD
GRACIAS POR LEER!!!
Bonito code gracias muy util.
me dices a que se refiere esto "&HFF".
HOLA!!!
:( lamentablemente no se puede obtener la imagen de facebook o windows live sin que el usuario este conectado :/ por ende no tiene sentido.
GRACIAS POR LEER!!!
Citarexport no documentado de SHELL32.
habra otras ??? recién me entero de estas ajajajja >:D :-[ :-[ :-[ gracias por compartir ;)
I love to see anything by Karcrack lol even if its something useless i love it lol you are really awesome karcrack I hope to see more coming from you!
...
Un poquito mas de info:
SHGetUserPicturePath (http://undoc.airesoft.co.uk/shell32.dll/SHGetUserPicturePath.php)
http://undoc.airesoft.co.uk/index.php
Dulces Lunas!¡.