Jak ukryć program z paska zadań

Adam Boduch

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

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ć

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

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

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

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

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