Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   duda con iconos de aplicacion (https://www.clubdelphi.com/foros/showthread.php?t=79837)

sidneyb 14-08-2012 16:16:18

duda con iconos de aplicacion
 
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

Cita:

Empezado por sidneyb (Mensaje 439563)
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:

Código Delphi [-]
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;


La franja horaria es GMT +2. Ahora son las 14:29:25.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi