Entwickler-Ecke

Windows API - Taskbar ausblenden


Delete - Mi 19.02.03 20:41
Titel: Taskbar ausblenden
Ich hab da mal ne frage:

Wie kann ich unter windows xp die Taskleiste ausblenden?

Thx für die Antworten im voraus!
Greetz FloF


derDoc - Mi 19.02.03 21:07

Ich glaube, dass du die garnicht komplett ausblenden kannst, höchstens einzelne Bereiche, wie z.B. die aktuell ausgeführten Anwendungen oder die Schnellstartleiste und auch den Systray Infobereich ohne Uhr.


Delete - Mi 19.02.03 21:24

Naja, das mit dem Ausblenden is so ne Sache.

Ich habe folgendes probiert:

Delphi-Quelltext
1:
2:
HTaskBar := FindWindow('Shell_TrayWnd'nil);
ShowWindow(HTaskbar, SW_HIDE);

da verschwindet zwar die Taskbar aber es bleibt ein lästiger schwarzer Streifen. Außerdem kann das Fenster dann auch nicht die Größe annehmen, die es ohne Taskbar hätte. Aus diesem Grund wäre ich jedem für ne funktionierende Lösung sehr dankbar.

Moderiert von user profile iconTino: Code-Tags hinzugefügt.
Moderiert von user profile iconmatze: Code- durch Delphi-Tags ersetzt


matze - Fr 21.02.03 19:44

versuch mal danach den desktop zu aktualisieren !


las - Mo 24.02.03 19:47

Ich weiß nicht genau ob's was bringt, aber bei mir funzt das hier ganz prima:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
procedure hidetaskbar;
var wndhandle:thandle;
begin
wndhandle:=findwindow(pchar('shell_traywnd'), nil);
showwindow(wndhandle,sw_hide);
end;

procedure showtaskbar;
var wndhandle:thandle;
begin
wndhandle:=findwindow('shell_traywnd'nil);
showwindow(wndhandle, sw_restore);
end;


Moderiert von user profile iconmatze: Code- durch Delphi-Tags ersetzt


mars - Mo 24.02.03 19:59

Das sieht ziemlich nach der Methode aus, welche er schon selber probiert hat...Also die mit dem schwarzen Streifen


Delete - So 13.04.03 14:40

is zwar schon ne zeit her, dass ich das ganze thema hier aufgerollt habe, aber ich hätte da noch ne frage.

die idee von matze den desktop zu aktualisieren klingt ganz gut. aber wie mach ich das in diesem fall?

Greetz FloF


O'rallY - So 13.04.03 18:20

Hab keine Ahnung ob's funzt. War einfach mal ne Idee (OnTheFly):

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
procedure RefreshDesktop;
var
   Desktop: TCanvas;
begin
   Desktop := TCanvas.Create
   try
      Desktop.Handle := GetWindowDC(GetDesktopWindow);
      Desktop.Repaint; //oder Desktop.Refresh; ?
   finally
      Desktop.Free;
   end;
end;


Moderiert von user profile iconmatze: Code- durch Delphi-Tags ersetzt


Xadron - So 08.04.07 19:06

Hallo,

habe mal das ausprobiert:


Delphi-Quelltext
1:
2:
HTaskBar := FindWindow('Shell_TrayWnd'nil);
ShowWindow(HTaskbar, SW_HIDE);


Nun fehlen die Bezeichner. Wie lauten die oder sind die in einer Uses?

Moderiert von user profile iconmatze: Delphi-Tags hinzugefügt


Blackheart666 - So 08.04.07 19:34

user profile iconXadron hat folgendes geschrieben:
Hallo,

habe mal das ausprobiert:

HTaskBar := FindWindow('Shell_TrayWnd', nil);
ShowWindow(HTaskbar, SW_HIDE);

Nun fehlen die Bezeichner. Wie lauten die oder sind die in einer Uses?


Stell mal den Cursor über FindWindows, da steht es.


Xadron - So 08.04.07 20:47

Ich sollte es vieleicht etwas eindeutiger schreiben, mein Fähler:

[Fehler] Unit1.pas(155): Undefinierter Bezeichner: 'HTaskBar'


Blackheart666 - So 08.04.07 20:53

user profile iconXadron hat folgendes geschrieben:
Ich sollte es vieleicht etwas eindeutiger schreiben, mein Fähler:

[Fehler] Unit1.pas(155): Undefinierter Bezeichner: 'HTaskBar'

Gleiche Antwort - Cursor über FindWindow dort stehts.
Und in Fähler ist ein Fehler. :wink:


Xadron - So 08.04.07 21:19

Ja, da steht dann ne ganze Menge.
Was von der Menge soll oder darf wo hin schreiben? Irgendwie suche ich mich dumm und dusselig..ist ja auch Ostern.
Also unter Windows habe ich ja Uses stehen.

Oder muss ich das ganz einfach abpinseln? function(lpcla........char);

Kann man dort irgendwo drauf klicken und er kopiert es sofort dort hin?


Blackheart666 - So 08.04.07 21:28

Ist aber auch Schwer, wie wäre es mit HWND.


JayEff - So 08.04.07 22:44

Um's noch mal gaaaanz klar auszudrücken:

Delphi-Quelltext
1:
2:
3:
4:
var HTaskBar: HWND;
begin
   HTaskBar := FindWindow('Shell_TrayWnd'nil); 
   ShowWindow(HTaskbar, SW_HIDE);

Eine Variable deklariert man, bevor man sie benutzt! :mahn:


Xion - So 20.05.07 09:49

guckst du http://www.delphi-library.de/viewtopic.php?t=69398&highlight=

//workarea ist das, was du brauchst, damit dein Fenster Vollbild werden kann