elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  bmp to ico
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: bmp to ico  (Leído 2,741 veces)
BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
bmp to ico
« en: 16 Septiembre 2009, 01:39 am »

Alguien sabe como convertir una imagen a formato ico, lo que pasa es que me e trabado al extraer los iconos de un X archivo por ejemplo de un exe, dll, txt (Iconos segun la configuracion e la pc actual en tiempo actual) y posteriormente como es de esperarse mostrarlo en un hdc (en uno de memoria) y guardarlo pero como es de esperarse se guarda en formato BMP...

Uso las apis Extracticon, drawicon, assosiatedicon, yestaba pensando en usar las apis para los recursos de archivos  (LoadResource, FindResource, etc ) y de esta forma guardarlo con el cabezar de un formato ico, pero es muy laborioso, ademas que que no cuento con dicha informaciòn

a lo que voy es guardar de un hdco bmp a ico, el icono leido con extractico y dibujado en el ndc con drawico, omo se guardaria entonces, a un formato Valido .ico?

Dulces Lunas


En línea

The Dark Shadow is my passion.
LeandroA
Moderador
***
Desconectado Desconectado

Mensajes: 760


www.leandroascierto.com


Ver Perfil WWW
Re: bmp to ico
« Respuesta #1 en: 16 Septiembre 2009, 04:25 am »

hola te recomiendo veas este link mirate la clase cFileIcon esta muy buena.

algo mas sencillo pero los iconos se ven muy feos

Código:
Option Explicit
Private Declare Function OleCreatePictureIndirect Lib "oleaut32.dll" (pDicDesc As IconType, riid As CLSIdType, ByVal fown As Long, lpUnk As Object) As Long
Private Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" (ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As Long
Private Declare Function DestroyIcon Lib "user32.dll" (ByVal hIcon As Long) As Long

Private Type IconType
  cbSize                As Long
  picType               As PictureTypeConstants
  hIcon                 As Long
End Type

Private Type CLSIdType
  id(16)                As Byte
End Type

Private Function ExtractCompatibleIcon(sPathFile As String, IconIndex As Long) As IPictureDisp
 
  Dim Unkown                As IUnknown
  Dim Icon                  As IconType
  Dim CLSID                 As CLSIdType
  Dim hIcon                 As Long

  hIcon = ExtractIcon(0, sPathFile, IconIndex)




  With Icon
    .cbSize = Len(Icon)
    .picType = vbPicTypeIcon
    .hIcon = hIcon
  End With
 
  With CLSID
    .id(8) = &HC0
    .id(15) = &H46
  End With
 
  Call OleCreatePictureIndirect(Icon, CLSID, 1, Unkown)
  Set ExtractCompatibleIcon = Unkown

  DestroyIcon hIcon
End Function


Private Sub Form_Load()
    Me.Picture = ExtractCompatibleIcon("explorer.exe", 1)
    SavePicture ExtractCompatibleIcon("calc.exe", 0), "C:\calculadora.ico"
    'Me.Picture = LoadPicture("C:\calculadora.ico")
End Sub

Saludos




En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: bmp to ico
« Respuesta #2 en: 16 Septiembre 2009, 04:55 am »

Muchas gracias no sabia eso de OleCreatePictureIndirect, revisare mejor el cfileicon

Dulces Lunas.!¡
« Última modificación: 16 Septiembre 2009, 05:01 am por BlackZeroX » En línea

The Dark Shadow is my passion.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines