Jak ukryć program na pasku zadań?

Jak ukryć program na pasku zadań?
NO
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 12 lat
  • Postów:45
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...

edytowany 4x, ostatnio: olesio
olesio
  • Rejestracja:około 17 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Szczecin
  • Postów:4191
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:

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

Poza tym co oznacza, że:

Kopiuj
  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ć...

Kopiuj
//...
  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 ;/


Pozdrawiam.
edytowany 1x, ostatnio: olesio
KR
poziom frustracji glupota: "it's over 9000!"
olesio
Nie do końca rozumiem o co chodzi, ale jeżeli to, że frustruje mnie głupota to niech tak będzie ;/

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.