Delphi - Ocultar de la barra de tareas

 
Vista:

Ocultar de la barra de tareas

Publicado por Juan (21 intervenciones) el 23/08/2001 20:01:59
Hola, necesito que mi aplicación no muestre un icono en la barra de tareas. Probé la función showWindow y no funciona. ¿alguien tiene una sugerencia?
Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ocultar de la barra de tareas

Publicado por Ernesto D'Spirito (706 intervenciones) el 24/08/2001 02:07:05
Para que no aparezca el botón de tu aplicación en la barra de tareas se usa la API SetWindowLong:

procedure TForm1.FormCreate(Sender: TObject);
begin
SetWindowLong(Application.Handle,
GWL_EXSTYLE, WS_EX_TOOLWINDOW);
end;

Ernesto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ocultar de la barra de tareas

Publicado por Juan (21 intervenciones) el 27/08/2001 19:38:25
hola Ernesto, gracias por tu ayuda. Todavía tengo un pequeño problema: no aparece icono en la barra de tareas, pero aparece arriba del botón de inicio, al tratar de restaurar si desaparece el icono, pero lo que necesito es que la aplicación inicie sin que el usuario lo note.
Otra vez gracias
Juan
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

No alcanzo a entenderte

Publicado por Ernesto D'Spirito (706 intervenciones) el 28/08/2001 00:22:21
¿A qué te refieres con eso de que el icono de la aplicación se muestra arriba del botón inicio? A mí por lo menos no me sucede nada extraño...

Ernesto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:No alcanzo a entenderte

Publicado por Juan (21 intervenciones) el 28/08/2001 02:39:02
La mejor forma que se me ocurre para explicarlo es la siguiente:
Estando en el IDE de Delphi, cuando minimizas la ventana correspondiente a una forma cualquiera, se ve justo arriba de la barra de tareas un rectángulo con el nombre de la ventana y los botones de cerrar, minimizar y maximizar.
Pues eso mismo es lo que me aparece.
Abusando de tu confianza (y de tus conocimientos), ¿conoces alguna forma de hacer que tu aplicación no aparezca listada cuando el usuario da ALT-TAB?
Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ahora creo que sí...

Publicado por Ernesto D'Spirito (706 intervenciones) el 29/08/2001 00:19:58
Ah... Ya creo te entiendo...

Bueno, en Delphi 5 tienes que poner lo siguiente en el proyecto:

begin
Application.Initialize;
Application.ShowMainForm := False;
Application.CreateForm(TForm1, Form1);
Application.Minimize;
Application.Run;
end.

Si en tu versión de Delphi no tienes propiedad ShowMainForm creo que puedes probar de ocultar la ventana con ShowWindow, pero no uses el método Hide o la propiedad Visible o tu aplicación terminará porque así ocurre si no queda ninguna ventana visible... que Delphi sepa ;) Con ShowWindow creo que lo engañarás a Delphi porque creerá que la ventana está visible (no se dará cuanta que has usado una API de Windows), eso espero, y sinó busca el tema en la red que lo he visto.

Al no tener ningún formulario visible, Windows no mostrará tu aplicación en la lista de tareas al hacer ALT+TAB.

Supongo que además te interesará ocultar tu aplicación de la lista que aparece en el diálogo "Cerrar programa" que aparece cuando el usuario presiona CTRL+ALT+DEL Eso se hace usando la API RegisterServiceProcess para decirle a Windows que tu aplicación es un servicio, no una aplicación:

const RSP_SIMPLE_SERVICE = 1;

function RegisterServiceProcess(dwProcessID, dwType: Integer):
Integer; stdcall; external 'KERNEL32.DLL';

procedure TForm1.FormCreate(Sender: TObject);
begin
SetWindowLong(Application.Handle,
GWL_EXSTYLE, WS_EX_TOOLWINDOW);
RegisterServiceProcess(GetCurrentProcessID,
RSP_SIMPLE_SERVICE);
end;

Espero que te sirva.

Ernesto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ahora creo que sí...

Publicado por Juan (21 intervenciones) el 29/08/2001 01:12:23
Muchas gracias Ernesto, funcionó de maravilla.

Juan
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar