Foro de elhacker.net

Programación => 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
  1. Option Explicit
  2. 'KERNEL32
  3. Private Declare Function GetVersion Lib "KERNEL32" () As Long
  4. 'SHELL32
  5. 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
  6. Private Declare Function xp_SHGetUserPicturePath Lib "SHELL32" Alias "#233" (ByVal pUserOrPicName As Long, ByVal sguppFlags As Long, ByVal pwszPicPath As Long) As Long
  7.  
  8. Private Const SGUPP_CREATEPICTURESDIR = &H80000000
  9.  
  10. Public Function LoadUserTile() As IPictureDisp
  11.    Dim sPath   As String
  12.  
  13.    sPath = String$(256, vbNullChar)
  14.  
  15.    Select Case (GetVersion() And &HFF)
  16.        Case 5
  17.            Call xp_SHGetUserPicturePath(0, SGUPP_CREATEPICTURESDIR, StrPtr(sPath))
  18.        Case 6
  19.            Call SHGetUserPicturePath(0, SGUPP_CREATEPICTURESDIR, StrPtr(sPath), 256)
  20.    End Select
  21.  
  22.    sPath = Left$(sPath, InStr(1, sPath, vbNullChar) - 1)
  23.  
  24.    Set LoadUserTile = LoadPicture(sPath)
  25. End Function

Para probarlo añade un PictureBox en un form:
Código
  1. Private Sub Form_Load()
  2.    Picture1.Picture = LoadUserTile()
  3. 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
Citar
export 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!¡.