Вишу приложение с формой во весь кран (и таск бар не виден). Код для показа "во весь экран" такой:
Код:
procedure TForm1.FormCreate(Sender: TObject);
var
HTaskbar: HWND;
OldVal: LongInt;
begin
try
// Find handle of TASKBAR
HTaskBar := FindWindow('Shell_TrayWnd', nil);
// Turn SYSTEM KEYS off, Only Win 95/98/ME
SystemParametersInfo(97, Word(True), @OldVal, 0);
// Disable the taskbar
EnableWindow(HTaskBar, False);
// Hide the taskbar
ShowWindow(HTaskbar, SW_HIDE);
finally
with Form1 do
begin
BorderStyle := bsNone;
FormStyle := fsStayOnTop;
Left := 0;
Top := 0;
Height := Screen.Height;
Width := Screen.Width;
end;
end;
Все работает как и надо - форма во весь экран и на экране только моя форма и больше ничего.
Но, после выхода из приложения - надо
2вернуть" таскбар на место, для этого испольую такой код:
Код:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var
HTaskbar: HWND;
OldVal: LongInt;
begin
//Find handle of TASKBAR
HTaskBar := FindWindow('Shell_TrayWnd', nil);
//Turn SYSTEM KEYS Back ON, Only Win 95/98/ME
SystemParametersInfo(97, Word(False), @OldVal, 0);
//Enable the taskbar
EnableWindow(HTaskBar, True);
//Show the taskbar
ShowWindow(HTaskbar, SW_SHOW);}
end;
У меня соит система Вин 7, а данный код под нее некорекно работает - таскбар не появляется, появляется только кнопка "пуск".
Прбывал еще такой вариант показа таскбара:
Код:
var
TaskBar: HWND;
begin
TaskBar := FindWindow( 'Shell_TrayWnd', nil );
ShowWindow( TaskBar, SW_SHOW );
end;
Этот од - и таск бар и кнока пус на месте, (кнопка работает нормально), таск бар - на экране есть, но он неработает (когда кликаешь на иконку в таскбаре - только раздается звук винды об ошибке
Кто знает как нормально восстановить таскбар?