Jak NIE pokazywać mojego programu na pasku zadań?

0

Cześć!

Potrzebuję napisać prosty program. Ma wyświetlać dialog z tekstem i kilkoma przyciskami. Program będzie używany między innymi w plikach BAT/CMD. Informacja o wybranym przycisku będzie zwracana jako ErrorLevel.

Na przykład:

MsgDlg --message "Przykładowa informacja" --button "Opcja 1" --button "Opcja 2"
if ErrorLevel 2 goto Opcja2
if ErrorLevel 1 goto Opcja1
goto EOF
...

Chciałbym, żeby okno z tym dialogiem nie było widoczne na pasku zadań Windows. Mógłbym użyć standardowej funkcji MessageBox. Wtedy na pasku zadań nie ma mojego programu, ale możliwości tej funkcji nie są wystarczające. Jeżeli zastąpię ją własnym, dynamicznie budowanym oknem, to program pojawia się na pasku zadań Windows.

Zdawało mi się, że powinno wystarczyć dodanie instrukcji Application.ShowMainForm := False;. Niestety, program pojawia się na pasku zadań.

W Internecie znalazłem, że powinna pomóc instrukcja ShowWindow(Application.Handle, SW_HIDE);. Niestety, to też nie działa.

2

Application.ShowMainFormOnTaskBar – sprawdź. Więcej pomysłów znajdziesz np. tutaj.

0

Wypróbowałem chyba wszystkie sposoby z tej strony. Żaden nie działa.
Podejrzewam, że w Windows 10 z jakiegoś powodu zablokowali możliwość ukrywania zadania z paska zadań.

0

Przed chwilą sprawdziłem i działa rozwiązanie stąd:
https://stackoverflow.com/questions/14811935/how-to-hide-an-application-from-taskbar-in-windows-7

Trzeba użyć "not WS_EX_APPWINDOW" w CreateParams, aby schować "przycisk" aplikacji na pasku zadań

1

u mnie pierwsze z SO (ShowWindow(Application.Handle, SW_HIDE);) działa - delphi 10.2, windows 10

0

Ja mam Delphi 10 Seattle.

Chciałem sobie uprościć życie i tworzę ten dialog przez funkcję CreateDSAMessageForm z modułu JvDSADialogs, z pakietu JEDI VCL. Gdzieś w tym kodzie musi być coś, co powoduje, że u mnie to ukrywanie programu z paska zadań nie działa.

Dziękuję Wam za pomoc. Skoro Wam to działa, to mam pewność, że źródło problemu jest gdzieś w moim kodzie, a nie w Windows 10.

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