| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
dreamermx Lt JG

Registrado: 14 Oct 2004Mensajes: 57Ubicación: Acapulco Guerrero Mexico
|
Publicado: Mie 24 Ago, 2005 7:54 pm Asunto: Aplicación el Tray System |
|
|
Hola amigos:
Como puedo hacer que una aplicación aparezca desde el inicio solo en el tray system, como lo hace Norton Antivirus.
Tengo una aplicación que lo hace pero me aparece la ventana, y enseguida desaparece, mostrando como se oculta.
En esta direccion pueden bajar el programa para que lo chequen.
http://mx.geocities.com/mverastegui/descarga/ocultar.zip
si lo desean.
Para desaparecerla uso un timer con un intervalo de 1 ms, y la oculta
usando la instrucción .
Muchas gracias,
Para que arranque cuando se enciende la computadora, lo hago
en el proceso de instalación en un guion de Inno Setup.
La instruccion es:
| Código: |
[Registry]
Root: HKLM; Subkey: "Software\Microsoft\Windows\CurrentVersion\Run"; ValueType : string; ValueName : "Mi App"; ValueData: "{app}\Applic.exe"
|
De antemano gracias por su ayuda. _________________ Miguel Angel Verastegui Diaz |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Mie 24 Ago, 2005 8:16 pm Asunto: |
|
|
Puedes usar el siguiente codigo, si lo has echo con el programa que esta en el foro, dentro del menu OnCreate de tu Form
| Código: | ShowWindow (this->Handle, SW_HIDE);
nid.hIcon = Icon->Handle;
nid.uFlags = NIF_ICON | NIF_TIP;
Shell_NotifyIcon (NIM_MODIFY, &nid); |
si no dime con que lo hiciste, y te doy un ejemplo mas concreto _________________
 |
|
| Volver arriba |
|
 |
dreamermx Lt JG

Registrado: 14 Oct 2004Mensajes: 57Ubicación: Acapulco Guerrero Mexico
|
|
| Volver arriba |
|
 |
dreamermx Lt JG

Registrado: 14 Oct 2004Mensajes: 57Ubicación: Acapulco Guerrero Mexico
|
Publicado: Mie 24 Ago, 2005 8:52 pm Asunto: |
|
|
Cesar y a los demas ya puse la direccion correcta.
La parte medular para esconder la aplicacion estan en este Codigo.
| Código: |
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
Application->OnMinimize = Minimizar;
// para que aparezca un icono en el Tray System.
TrayIcon_Create("Mensaje ",Application->Icon->Handle);
}
void __fastcall TForm1::Minimizar(TObject *Sender)
{
Oculto = true;
Hide();
}
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Oculto = true;
Hide();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Mostrar1Click(TObject *Sender)
{
if (Oculto) {
Application->Restore();
Oculto = false;
Show();
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Ocultar1Click(TObject *Sender)
{
Oculto=true;
Hide();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
Oculto=true;
Hide();
Timer1->Enabled = false;
}
//---------------------------------------------------------------------------
|
Oculto es una variable boolean, Ocultar1, y mostrar1 son opciones del
menù emergente.
TrayIcon_Create(..) es la funcion que uso para que aparezca en el
Tray system.
Ya pueden descargar el programa si desean mas detalles.
[url]
http://mx.geocities.com/mverastegui/descarga/Ocultar.zip
[/url]
Gracias. _________________ Miguel Angel Verastegui Diaz |
|
| Volver arriba |
|
 |
dreamermx Lt JG

Registrado: 14 Oct 2004Mensajes: 57Ubicación: Acapulco Guerrero Mexico
|
Publicado: Vie 26 Ago, 2005 7:55 pm Asunto: Problema al minimizar. |
|
|
Hola a todos.
El problema de ocultar la aplicación, al iniciar la ejecución y que aparezca en el TraySystem, lo voy a probar con la instrucción. vista en mensaje,
que esta en Tips & tricks Ejecutar oculto.
https://cppbuilder.es/viewtopic.php?t=9910
es la siguiente.
| Código: | Application->ShowMainForm=False;
|
Lo voy a probar.
Hay otro problema, tomando como ejemplo el programa de Cesar,
https://cppbuilder.es/viewtopic.php?t=9080&highlight=trayicon
Funciona bien, pero surge un problema: cuando el codigo lo agregas al evento OnMinimize.
| Código: | __fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
Application->OnMinimize = Minimiza;
}
void __fastcall TForm1::Minimiza(TObject *Sender)
{
InitializeNID(); // funcion utilizada para colocar un icono en el tray system
ShowWindow(Handle,SW_HIDE);
} |
Cuando pulsas por primera vez el boton minimizar de la ventana, funciona bien, restauras , todo perfecto, pero cuando minimizar en diversas ocaciones, la ventana se minimiza , pero no se oculta.
Agrego el enlace del programa por si lo quieren checar.
http://mx.geocities.com/mverastegui/descarga/ocultar_c.zip
¿Como solucionar este problema?
Muchas gracias por su ayuda.  _________________ Miguel Angel Verastegui Diaz |
|
| Volver arriba |
|
 |
dreamermx Lt JG

Registrado: 14 Oct 2004Mensajes: 57Ubicación: Acapulco Guerrero Mexico
|
|
| Volver arriba |
|
 |
Isa1976 Lt Cmdr


Registrado: 23 Nov 2005Mensajes: 104
|
Publicado: Sab 20 Mar, 2010 11:13 am Asunto: |
|
|
este va perfecto:
https://cppbuilder.es/viewtopic.php?t=9910
Oculta la aplicacion al iniciar y ni se nota. Si se pone en el Hide(); en el onpaint aparece un pequeño destello de la aplicacion, quiero decir que se nota que se ha iniciado algo.
Un saludo. |
|
| Volver arriba |
|
 |
dreamermx Lt JG

Registrado: 14 Oct 2004Mensajes: 57Ubicación: Acapulco Guerrero Mexico
|
Publicado: Sab 20 Mar, 2010 5:09 pm Asunto: |
|
|
Gracias Isa,
Pero, ¿como restauro de nueva cuenta el programa?.
Me refiero, volverlo a primer plano.
Ya que usando
En OnPaint() de la forma, si, desaparece totalmente del escritorio, pero no te permite restaurar la ventana, cuando lo desees, pues desaparece el icono del la bandeja del sistema (tray system). _________________ Miguel Angel Verastegui Diaz |
|
| Volver arriba |
|
 |
escafandra Master

Registrado: 29 Nov 2007Mensajes: 625Ubicación: Madrid - España
|
Publicado: Sab 20 Mar, 2010 5:33 pm Asunto: |
|
|
Pues tienes dos opciones, o lo colocas en el SysTray y desde allí lo haces visible, o utilizas un Hook del teclado o en su defecto HotKey para tal fin.
Saludos. |
|
| Volver arriba |
|
 |
|