PDA

Ver la Versión Completa : duda con iconos de aplicacion


sidneyb
14-08-2012, 16:16:18
Buen dia amigos...

Antes que nada, me disculpo por que honestamente no supe en que lugar poner este hilo, asi que lo coloque en OOP...

Mi duda es lo siguiente, puedo crear una aplicacion multiiconos? es decir, al colocar el icono principal de la aplicacion, lo tomo, por lo general por el menu y opciones del proyecto, cierto? ahora, mi punto es el siguiente;

Tengo una aplicacion (preloader por asi llamarlo) que se ejecuta antes que mi aplicacion o programa (supongamos contabilidad) que realmente quiero ejecutar por medio del acceso directo que apunta al preloader.exe, este con la finalidad de buscar actualizaciones y montarlas antes de ejecutar la aplicacion contabilidad. pero con respecto a esto, este "preloader" es un generico para multiples programas, tales como punto de venta, contabilidad, ftp, etc... lo unico que le indica al preloader que es lo que va a actualizar es un archivo ini donde estan guardadas las configuraciones del mismo. El detalle esta, que al ser un generico tiene un mismo icono en todo momento, y si tengo varios programas (contabilidad, punto de venta, etc...) simultaneamente entonces el escritorio esta lleno del mismo icono preloader por que a este es el que apunto al acceso directo

Deseo crear, de ser posible, que en el mismo ejecutable, esten empaquetados varios iconos, y que pueda seleccionarse segun alguno que indique en el ini de configuracion.

Que deseo evitar? tener que cargar, copiar, pegar varios archivos .ico que sean los de las aplicaciones que deseo actualizar, en archivos sueltos, es decir, deso que mi aplicacion sea lo mas portable posible, un .exe y .ini cuando mucho... Es posible esto? empaquetar varios iconos en mi aplicacion para poder indicarle (puede ser por medio del .ini) que icono colocarse? gracias por su colaboracion

sidneyb
14-08-2012, 16:46:37
otra opcion podria ser, puedo heredar el icono de otro ejecutable? es decir, sacarlo del mismo exe y cargarlo en mi programa en tiempo de ejecucion? cual seria el codigo para hacer esto?

Neftali [Germán.Estévez]
14-08-2012, 17:24:00
Que deseo evitar? tener que cargar, copiar, pegar varios archivos .ico que sean los de las aplicaciones que deseo actualizar, en archivos sueltos, es decir, deso que mi aplicacion sea lo mas portable posible, un .exe y .ini cuando mucho... Es posible esto? empaquetar varios iconos en mi aplicacion para poder indicarle (puede ser por medio del .ini) que icono colocarse? gracias por su colaboracion

¿Has probado a añadir varios iconos como recursos al ejecutable?

sidneyb
14-08-2012, 17:26:59
gracias neftali, por tu atencion

es precisamente esto lo que no se hacer, de hecho, no sabia si era posible...

podrias prestarme tu ayuda?

CSIE
14-08-2012, 18:03:04
Creo que la solución es que tu propio programa preloader cree el acceso directo en el escritorio asignandole el icono correspondiente de la aplicación especificada en el ini.

Para ello puedes usar el interface IShellLink:


uses
ShlObj,
ActiveX;

var
UnObject : IUnknown;
ShelLink : IShellLink;

if CoCreateInstance(CLSID_ShellLink, nil, CLSCTX_INPROC_SERVER or CLSCTX_LOCAL_SERVER, IUnknown, UnObject) <> S_OK then
begin
...Error..
end
else
begin
ShelLink := UnObject as IShellLink;
.....
ShelLink.SetIconLocation([Ejecutable de la aplicacion con path], [Icono]);
.....
end;
CoUninitialize();


Normalmente Icono por defecto será 0;