![]() |
Windows 7 Taskbar ein-/ausblenden
Hallo zusammen,
ich habe letzte Woche im Internet nach Routinen zum ausblenden der Taskbar gesucht (Funktion wird benötigt damit das Programm auf dem ganzen Bildschirm angezeigt wird). Mein Problem bestand dann hauptsächlich darin, das die Startfläche von Windows nicht ausgeblendet wurde, d.h. die Taskbar war weg, aber der runde Kreis mit Windows Logo war noch da. Nach ein bißchen Such hab ich im Internet noch eine Lösung gefunden wie man das Windows Logo ausblendet, Funktioniert soweit alles wunderbar, ich hab nur noch einen kosmetischen Fehler. Wenn ich die Taskbar ausblende und dann wieder einblende, dann ist das Windows Start Symbol wieder da, aber wenn ich auf das Windows Start Symbol klicke dann verschwindet dies und an der Stelle ist dann nur ein grauer Button mit "Start". Hat jemand eine Idee woran das liegen könnte? Anbei mein Source:
Delphi-Quellcode:
procedure prShowTaskBar(blShow : Boolean);
var wndTaskbar : THandle; hApp, hWinMenuBtn : HWND; rcApp, rcWork : TRect; begin wndTaskbar := FindWindow('Shell_TrayWnd', nil); If (wndTaskbar <> 0) Then Begin If (blShow) Then Begin //Taskbar EnableWindow(wndTaskbar, True); ShowWindow(wndTaskbar, SW_SHOW); //Windows Menu Button hWinMenuBtn := FindWindowEx(GetDesktopWindow, 0, 'Button', nil); ShowWindow(hWinMenuBtn, 1); Windows.SetParent(hWinMenuBtn, wndTaskbar); //prepare a default fullscreen workarea rcWork.Top:=0; rcWork.Left:=0; rcWork.Bottom:= GetSystemMetrics(SM_CYSCREEN); rcWork.Right:= GetSystemMetrics(SM_CXSCREEN); //get the taskbar handle hApp := FindWindow('Shell_TrayWnd', ''); if hApp <> 0 then begin //get the size of the taskbar GetWindowRect(hApp, rcApp); //cut the workarea to place the taskbar if rcApp.Right<rcWork.Right then rcWork.Left:=rcApp.Right; if rcApp.Bottom<rcWork.Bottom then rcWork.Top:=rcApp.Bottom; if rcApp.Left>0 then rcWork.Right:=rcApp.Left; if rcApp.Top>0 then rcWork.Bottom:=rcApp.Top; end; SystemParametersInfo (SPI_SETWORKAREA, 0, @rcWork, SPIF_SENDCHANGE ); End Else Begin //Taskbar EnableWindow(wndTaskbar, False); ShowWindow(wndTaskbar, SW_HIDE); //WindowsButton hWinMenuBtn := FindWindowEx(FindWindow('Shell_TrayWnd', nil), 0, 'Button', nil); ShowWindow(hWinMenuBtn, 0); Windows.SetParent(hWinMenuBtn, 0); rcWork.Top:=0; rcWork.Left:=0; rcWork.Bottom:=GetSystemMetrics(SM_CYSCREEN); rcWork.Right:=GetSystemMetrics(SM_CXSCREEN); SystemParametersInfo (SPI_SETWORKAREA, 0, @rcWork, SPIF_SENDCHANGE); End; End; end; |
AW: Windows 7 Taskbar ein-/ausblenden
... nur mal kurz probiert :
gleiches Ergebnis. Und : Fenster, die in den negativen Bereich verschoben wurden (egal wie weit und warum), werden dann in der Position (Top) auf 0 gesetzt. |
AW: Windows 7 Taskbar ein-/ausblenden
Zitat:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin BorderStyle := TFormBorderStyle.bsNone; WindowState := TWindowState.wsMaximized; end; |
AW: Windows 7 Taskbar ein-/ausblenden
Möglich wäre noch,
FormStyle = StayOnTop top := 0; Left := 0; Width := Screen.Width; Height := Screen.Height; |
AW: Windows 7 Taskbar ein-/ausblenden
Zitat:
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:16 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