Programowanie w języku Delphi » FAQ

Jak ukryć program z paska zadań

Pasek musi być ukryty zanim stworzone zostaną formy. Poniższy kod należy więc dodać do źródła projektu ( Project -> View Source ). Tak powinna wyglądać całość:

program Project1;
 
uses 
  Forms,
   Windows,
  Unit1 in 'Unit1.pas' {Form1};
 
{$R *.RES}
 
var
  Ex : Integer;
 
begin
  Application.Initialize;
 
  Ex:=GetWindowLong(Application.Handle, GWL_EXSTYLE);
  SetWindowLong(Application.Handle,GWL_EXSTYLE,
      Ex or WS_EX_TOOLWINDOW and not WS_EX_APPWINDOW);
 
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

Program jest ukrywany z paska zadań dzięki parametrowi WS_EX_TOOLWINDOW.

6 komentarzy

Nekromancer 2009-11-29 12:43

Przed Application.Run napisać tylko to: Application.Title := ''. I proszę bardzo.. działa
W nowszych wersjach delphi jest nawet taka linijka:
  Application.MainFormOnTaskbar := True;
Też można z niej skorzystać

XemeX 2007-12-30 18:16

ShowWindow(Application.Handle,SW_HIDE) działa znakomicie także w najnowszej wersjo BDS jako że jest fukcją API :)

mat_1200 2006-01-21 14:58

Mi po wpisaniu do kodu ShowWindow(Application.Handle,SW_HIDE); aplikacja jest nadal na pasku. Dajcie jakis pozadny przyklad

stanu 2005-10-12 01:05

ukrywanie/pokazywanie belki w trakcie dzialania programu (nalezy dodac ShellApi do uses):
ShowWindow(Application.Handle,SW_HIDE); //ukrycie
ShowWindow(Application.Handle,SW_SHOW); //pokazanie

wesoledi 2004-05-12 17:28

moze zamiast application.handle daj form.handle? :D

LX 2003-11-28 14:47

Kod umieszczony w onCreate Formy też działa.
Jak ukryć belkę programu po stworzeniu formy?