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: Karcrack en 18 Abril 2012, 15:23 PM

Título: [SNIPPET][Undocumented] LoadUserTile() - Obtener la imagen del usuario
Publicado por: Karcrack en 18 Abril 2012, 15:23 PM
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
Título: Re: [SNIPPET][Undocumented] LoadUserTile() - Obtener la imagen del usuario
Publicado por: 79137913 en 18 Abril 2012, 15:27 PM
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!!!
Título: Re: [SNIPPET][Undocumented] LoadUserTile() - Obtener la imagen del usuario
Publicado por: Danyfirex en 18 Abril 2012, 15:41 PM
Bonito code gracias muy util.

me dices a que se refiere esto "&HFF".
Título: Re: [SNIPPET][Undocumented] LoadUserTile() - Obtener la imagen del usuario
Publicado por: 79137913 en 18 Abril 2012, 16:11 PM
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!!!
Título: Re: [SNIPPET][Undocumented] LoadUserTile() - Obtener la imagen del usuario
Publicado por: rembolso en 18 Abril 2012, 16:41 PM
Citarexport no documentado de SHELL32.
habra otras ??? recién me entero de estas ajajajja  >:D :-[ :-[ :-[ gracias por compartir ;)
Título: Re: [SNIPPET][Undocumented] LoadUserTile() - Obtener la imagen del usuario
Publicado por: Swellow en 19 Abril 2012, 22:20 PM
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!
Título: Re: [SNIPPET][Undocumented] LoadUserTile() - Obtener la imagen del usuario
Publicado por: BlackZeroX en 21 Abril 2012, 04:38 AM
...
Un poquito mas de info:

SHGetUserPicturePath (http://undoc.airesoft.co.uk/shell32.dll/SHGetUserPicturePath.php)

http://undoc.airesoft.co.uk/index.php

Dulces Lunas!¡.