Pregunta

El siguiente código funciona bien en Delphi 7. Sin embargo, en Delphi 2009, el formulario no permanecen ocultos pero el botón en la barra de tareas aparece ahora.

ShowWindow(Handle, SW_HIDE);
SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) or WS_EX_TOOLWINDOW );
ShowWindow(Handle, SW_SHOW);

El código anterior se llama en el método FormCreate.

¿Fue útil?

Solución

Resulta que la razón por la que estábamos viendo la ventana de la aplicación en la barra de tareas fue un simple ajuste similar a la respuesta de stukelly pero no del todo.

Para obtener el formulario principal para que aparezca en la barra de tareas y ocultar el menú de la aplicación solicite:

Application.MainFormOnTaskbar := True;
Application.ShowMainForm := False;

Sin código detrás de la forma crear o nada necesario.

Otros consejos

Es necesario establecer la ShowMainForm y MainFormOnTaskBar propiedades en falso antes de la forma se crea.

Abre la fuente del proyecto y ajustar MainFormOnTaskBar y ShowMainForm en False, antes de que se crea el formulario.

Application.Initialize;
Application.MainFormOnTaskbar := false;
Application.ShowMainForm := false;
Application.CreateForm(TForm1, Form1);

A continuación, en su forma principal añadir el siguiente código al FormActivate y FormShow eventos.

procedure TForm1.FormActivate(Sender: TObject);
begin
 // hide taskbar button
 ShowWindow(Application.Handle, SW_HIDE);
end;
procedure TForm1.FormShow(Sender: TObject);
begin
 // hide taskbar button
 ShowWindow(Application.Handle, SW_HIDE);
end;

He probado con Dephi 2007 y 2009. Información adicional está disponible aquí .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top