Jak ukryć program na pasku zadań?

0

Jak w delphi najprościej ukryć program na pasku? Używam najnowszej wersji Delphi i dodałem TTrayIcon. Chciałbym poznać najłatwiejsze sposoby na ukrycie programu na pasku, na stałe. Od razu mówię, że sposób z SetWindowLong wywala błędy, już na starcie przy SetWindowLong podkreśla na czerwono.

trochę pogooglowałem i:
ShowWindow(Application.Handle, SW_HIDE);
trzeba ładować w różne miejsca

A jak ustawi się:
Application.MainFormOnTaskbar:= False;

to wtedy moja procedura od minimalizowania okna przestaje działać! Dlaczego?
Application.OnMinimize:= Minimalizuj;

procedure Minimalizuj(Sender: TObject);

tzn. działa tylko raz, a później już wcale... I kod w procedurze jest dobry, nawet jak zamienię go by dodawał coś do Memo, to nie dodaje za drugim razem już nigdy...

1

Nie bylo mnie parę dni i już bajzel ;/ Masa pytan od @nowe, który nie jest łaskaw pogooglować zanim zapyta. W jaki sposób ukrywasz ten pasek? W OnCreate formatki takie coś jak poniżej MUSI zadziałać prawidłowo:

  SetWindowLong(Application.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW and not WS_EX_APPWINDOW);

Poza tym co oznacza, że:

  ShowWindow(Application.Handle, SW_HIDE);

musisz używać w "wielu miejscach"? Używasz tylko wtedy kiedy minimalizujesz. Przy przywróceniu pokazujesz na nowo przez SW_SHOW. Czy tak ciężko jest zrobić...

//...
  private
    procedure OnMinimizeHandler(Sender: TObject);
//...
procedure TUzywajGoogleChlopieForm.OnMinimizeHandler(Sender: TObject);
begin
  ShowWindow(Application.Handle, SW_HIDE);
  Trayicon.Active := True; // Lub coś w tym stylu, bo nie wiem jakiego TrayIcon używasz
end;

// W OnCreate formatki dać:
  Application.OnMinimize := OnMinimizeHandler;

Także ogarnij się i googluj, pomyśl, pokombinuj zanim od razu coś nasmarujesz na forum! I TAGUJ WĄTKI PRZEDE WSZYSTKIM! Drzeć na niektórych mordę trzeba, bo mają w d... zasady ;/

1 użytkowników online, w tym zalogowanych: 0, gości: 1