![]() |
Aus Taskbar ausblenden
Hi DPler,
ich weiss, dass wir es schon hatten, aber ich habe es trotzdem nicht gefunden :oops: Wie kann ich den Button meiner Application, bzw. eines Forms aus der Taskbar verstecken :?: ...:cat:... |
Meinst du so:
Delphi-Quellcode:
ShowWindow(GetWindow(Handle,GW_OWNER),SW_HIDE);
|
Und weiter?
1. Wie kriegt mans dann wieder dahin? 2. Wie kann ich ein Icon dann in der Leiste neben der Uhr auftauchen lassen? |
1. Statt SW_HIDE nimmst du SW_SHOW
2. Such mal in der DP. Du wirst Kompos und Beiträge finden (am besten nach TNA suchen) Chris |
Aha ok danke ich werds machen!
|
Re: Aus Taskbar ausblenden
hallo,
das mit der Taskleiste verstecken funktionier ja Top, aber wie funktioniert das ganze wenn ich keinen Formularkopf habe wenn BorderStyle = none ?? dann funktioniert des bei mir nicht mehr :shock: gruß Steven |
Re: Aus Taskbar ausblenden
Bei mir klappt es gut. Aber wie krieg ich das Programm aus dem Taskmanager raus (Win XP)??? Also das es komplett versteckt ist
|
Re: Aus Taskbar ausblenden
Du musst glaube ich einen Service schreiben.
Da hatten wir auch erst vro kurzem einen großen Thread. |
Re: Aus Taskbar ausblenden
hallo,
das selbe Problem habe ich auch ohne Formularkopf funktioniert des nicht. Weiß denn keiner eine Lösung ? Hatte schon vor längerem angesprochen wegen Diensten und so, habe jetzt auch meinen Dienst aber wenn ich ein Formular öffne erscheint es im Taskmanager obwohl ohne Formularkopf das passiert als Exe nicht :shock: könnt ihr mir weiterhelfen ?? danke |
Re: Aus Taskbar ausblenden
Unter WinNT ff. ist es nicht so ohne weiteres möglich, Prozesse zu verstecken. Das ist ja Sinn der Sache.
|
Re: Aus Taskbar ausblenden
danke für die schnelle antwort, ja will ja nicht den Service selbst verstecken sondern nur das Formular das taucht nämlich auch als Anwendung auf aber wieso eigentlich ??
Dürfte doch nur be Prozesse sichtbar sein :shock: mein Formular hat keinen Formularkopf, dadurch war es auch als exe nicht als Anwendung sondern nur als Prozess sichtbar das würde mir schon langen ( der Formularkopf muss aber wegbleiben ) hast du eine idee ? |
Re: Aus Taskbar ausblenden
Logisch das das noch unter Anwendungen aufgeführt wird...es ist ja noch da nur "unsichtbar" in der taskleiste...!
Versuchs mal mit Form1.Hide und Form1.Show ! CrashMan |
Re: Aus Taskbar ausblenden
:oops: :oops:
glaube habe mich falsch ausgedrückt, ich will natürlich nicht das Formular selbst sondern nur den Eintrag im Taskmanager für Anwendung ausblenden der ja bei einem Dienst garnicht da sein dürfte. oder wie ?? Steve |
Re: Aus Taskbar ausblenden
Hi, ich habe ne viel leichtere Lösung, nämlich die Komponente:
"CoolTrayIcon" (hier der Link ![]() , mit der man ein Icon, oder Text als TrayIcon anzeigen lassen kann. Integriert in dieser Komponente ist auch das Ereignis "HideMainForm". Greez Basti aka ddcool |
Re: Aus Taskbar ausblenden
Zitat:
Zitat:
|
Re: Aus Taskbar ausblenden
Ein ToolWindow erscheint auch nicht in der Taskbar.
|
Re: Aus Taskbar ausblenden
Hi,
Zitat:
Hier mal ein bisschen Code aus meiner eigenen CodeLibrary :wink: :
Delphi-Quellcode:
Gruß,
uses
ComObj; const CLSID_TaskbarList: TGUID = '{56FDF344-FD6D-11d0-958A-006097C9A090}'; type ITaskbarList = interface ['{56FDF342-FD6D-11d0-958A-006097C9A090}'] function HrInit: HResult; stdcall; function AddTab(hwnd: Cardinal): HResult; stdcall; function DeleteTab(hwnd: Cardinal): HResult; stdcall; function ActivateTab(hwnd: Cardinal): HResult; stdcall; function SetActiveAlt(hwnd: Cardinal): HResult; stdcall; end; implementation procedure TForm1.Button1Click(Sender: TObject); const CLSID_TaskBarList: TGUID ='{56FDF344-FD6D-11D0-958A-006097C9A090}'; IID_ITaskBarList: TGUID ='{56FDF342-FD6D-11D0-958A-006097C9A090}'; var FTaskbarList: ITaskBarList; Wnd: hWnd; begin Wnd := FindWindow('IEFrame',nil); if (Wnd <> 0) then begin FTaskbarList := CreateComObject(CLSID_TaskbarList) as ITaskbarList; FTaskbarList.HrInit; FTaskbarList.HrInit; FTaskbarList.DeleteTab(Wnd); end; end; Markus |
____hat sich erledigt____
|
Re: Aus Taskbar ausblenden
Zitat:
Der Eintrag vom IE verschwindet anstandslos. Getestet unter Win98. Problematisch wird´s nur bei der VCL. Das folgende Beispiel geht davon aus, dass man eine Form namens "TForm1" hat, und es funktioniert nicht:
Delphi-Quellcode:
Damit verschwindet das eigene Fenster nicht.
Wnd := FindWindow('TForm1',nil);
Und wieso nicht? :mrgreen: Weil bei VCL-Programmen nicht die Form sondern das TApplication-Objekt für den Eintrag in der Taskbar verantwortlich ist. Korrekt wäre also:
Delphi-Quellcode:
und -schwupps!- ist der Taskbar-Eintrag verschwunden ... ohne dass man in den Fensterstilen rumfummeln muss. Wenn allerdings noch ein zweites VCL-Programm läuft, wird´s schon wieder schwierig. In dem Fall muss man also gezielt nach dem Buttontitel suchen, etwa
Wnd := findwindow('TApplication',nil);
if (Wnd <> 0) then begin FTaskbarList := CreateComObject(CLSID_TaskbarList) as ITaskbarList; FTaskbarList.HrInit; FTaskbarList.DeleteTab(Wnd); end;
Delphi-Quellcode:
unter der Voraussetzung, das eben "Project1" auf dem Taskbar-Button steht.
Wnd := findwindow('TApplication','Project1');
Mit
Delphi-Quellcode:
anstelle von "DeleteTab" kann man den Button übrigens wieder sichtbar machen. Aber mehr verrät dazu, wie immer!, das PSDK.
FTaskbarList.ActivateTab(Wnd);
@DaFox: Dein Code kann ein bisschen aufgeräumt werden. Die lokale GUID im Button-Klick kann weggelassen werden, weil sie ja bereits global deklariert ist, und einmal
Delphi-Quellcode:
hat bei mir gereicht. :)
FTaskbarList.HrInit;
|
Re: Aus Taskbar ausblenden
Hi Mathias,
Zitat:
Zitat:
Gruß, Markus |
Re: Aus Taskbar ausblenden
Aha, ... gut, das Minimieren habe ich jetzt nicht probiert. Ich habe nur zwei Buttonklicks zum Anzeigen und Verstecken gebaut und mich dann gefragt: "Was hat er denn? Geht doch." :)
Wahrscheinlich hast du recht. Bei fremden Fenstern bzw. fremden Taskbar-Buttons wird es wohl wirklich aufwändig werden, wenn der Button nach diversen Aktionen wieder erscheint. Aber da sich die meisten Fragen in dem Thema um das eigene Programm drehen, ist dein Code meiner Meinung nach trotzdem die bessere Variante - besser als der Vorschlag, den Fensterstil zu ändern, nur weil ein Toolwindow auch keinen Taskbarbutton hat. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz