Extraer icono de mi ejecutable y aplicarlo [SOLUCION]

y programas personales para otros como tu, puede que te corrijan ;)
Responder
Avatar de Usuario
yasmany
Hacker del Foro
Mensajes: 249
Registrado: 06 Sep 2011, 21:30

Extraer icono de mi ejecutable y aplicarlo [SOLUCION]

Mensaje por yasmany »

Un buen día a todos, puede que esto sepan muchos, pero lo pongo para que pueda ser util para quienes no lo sabíamos.

Bueno lo realicé con el fin reducir el tamaño de mi ejecutable, ya que ANTES hacia que se compile con un icono agregado mediante FileInstall, y el icono pesaba 53.9kb.

Esto lo que hace es crear iconos de acuerdo al tamaño que se desee, por ejemplo yo necesito un icono de 16x16 para aplicarlo en la barra de la ventana y en el TrayIcon, otro icono es de 32x32 que lo necesito para aplicarlo en la cabecera de mi aplicación y uno mas grande de 120x120 para aplicarlo en el Acerca de...

Cabe mencionar que para aplicar los tamaños estos no deben supera el tamaño del icono con el que hayan compilado.
Bueno espero sea de ayuda... saludos :smt024

Código: Seleccionar todo

#include <WinAPIGdi.au3>
#include <WinAPIShellEx.au3>

_crearIconos("iconoAvy16", 16, 16)
_crearIconos("iconoAvy32", 32, 32)
_crearIconos("iconoAvy120", 120, 120)

Func _crearIconos($nombreIcono, $ancho, $alto)
	Local $aIcon = _WinAPI_Create32BitHICON(_WinAPI_ShellExtractIcon(@ScriptFullPath, 0, $ancho, $alto), 1)
	_WinAPI_SaveHICONToFile(@TempDir& "\" & $nombreIcono&".ico", $aIcon)
	$aIcon = ""
EndFunc   ;==>_crearIconos
Obra de modo que merezcas a tu propio juicio y a juicio de los demás la eternidad, que te hagas insustituible que no merezcas morir.
https://www.facebook.com/yasmanycurimilma
Avatar de Usuario
Dany
Profesional del Autoit
Mensajes: 651
Registrado: 28 Mar 2012, 22:49

Re: Extraer icono de mi ejecutable y aplicarlo [SOLUCION]

Mensaje por Dany »

Muy bien Yasmany.

unas Acotaciones:
Trata de usar alguna notacion/prefijo para las variables. por ejemplo yo suelo hacerlo asi:

$iSize=voy a trabajar con un entero
$b=voy a trabajar con un boton o con una variable boolean.
Etc. Todo esto no es necesario. es por comodidad.

Trata de manejar errores. por ejemplo retorna algo: Return _WinAPI_SaveHICONToFile(@TempDir & "\" & $nombreIcono&".ico", $aIcon)

Y una duda. ¿Porque usas la notación "$a" en $aIcon? Yo suelo usarla cuando trabajo con vectores(arrays).

Saludos :smt027
  • ............................................Imagen
    ......................................Imagen
Avatar de Usuario
yasmany
Hacker del Foro
Mensajes: 249
Registrado: 06 Sep 2011, 21:30

Re: Extraer icono de mi ejecutable y aplicarlo [SOLUCION]

Mensaje por yasmany »

fue que tome el code de la ayuda de Autoit y pues ahi estaba con unos for y arrays y pues no modifique la variable por pereza :smt015 y solo tome lo importante de ahí excuseme..
gracias por las sugerencia, podrias explicarme el retorno de errores en que me ayuda... me gustaría aprender :smt026
Obra de modo que merezcas a tu propio juicio y a juicio de los demás la eternidad, que te hagas insustituible que no merezcas morir.
https://www.facebook.com/yasmanycurimilma
Avatar de Usuario
Dany
Profesional del Autoit
Mensajes: 651
Registrado: 28 Mar 2012, 22:49

Re: Extraer icono de mi ejecutable y aplicarlo [SOLUCION]

Mensaje por Dany »

El retorno es para saber si algo esta funcionado.

If _algunaFuncion() then
msgbox(0,"Bien","Todo va Bien :)")
else
msgbox(0,"Mal","ocurrió Un Error :(")
endif

:smt027
Saludos
  • ............................................Imagen
    ......................................Imagen
Avatar de Usuario
yasmany
Hacker del Foro
Mensajes: 249
Registrado: 06 Sep 2011, 21:30

Re: Extraer icono de mi ejecutable y aplicarlo [SOLUCION]

Mensaje por yasmany »

muy interesante, gracias Dany... lo tomaré muy en cuenta. :smt023 :smt024
Obra de modo que merezcas a tu propio juicio y a juicio de los demás la eternidad, que te hagas insustituible que no merezcas morir.
https://www.facebook.com/yasmanycurimilma
Avatar de Usuario
Dany
Profesional del Autoit
Mensajes: 651
Registrado: 28 Mar 2012, 22:49

Re: Extraer icono de mi ejecutable y aplicarlo [SOLUCION]

Mensaje por Dany »

De nada bro. Cualquier cosa ya sabes donde ando.


Saludos :smt027
  • ............................................Imagen
    ......................................Imagen
Responder