[SNIPPET][Undocumented] LoadUserTile() - Obtener la imagen del usuario

Iniciado por Karcrack, 18 Abril 2012, 15:23 PM

0 Miembros y 1 Visitante están viendo este tema.

Karcrack

Código (vb) [Seleccionar]
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:
Código (vb) [Seleccionar]
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

79137913

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!!!
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

79137913                          *Shadow Scouts Team*

Danyfirex

Bonito code gracias muy util.

me dices a que se refiere esto "&HFF".

79137913

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!!!
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

79137913                          *Shadow Scouts Team*

rembolso

Citarexport no documentado de SHELL32.
habra otras ??? recién me entero de estas ajajajja  >:D :-[ :-[ :-[ gracias por compartir ;)

Swellow

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!

BlackZeroX

The Dark Shadow is my passion.