Вишу приложение с формой во весь кран (и таск бар не виден). Код для показа "во весь экран" такой:
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | procedure TForm1 . FormCreate(Sender: TObject);
var
HTaskbar: HWND;
OldVal: LongInt ;
begin
try
HTaskBar := FindWindow( 'Shell_TrayWnd' , nil );
SystemParametersInfo( 97 , Word ( True ), @OldVal, 0 );
EnableWindow(HTaskBar, False );
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вернуть" таскбар на место, для этого испольую такой код:
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | procedure TForm1 . FormClose(Sender: TObject; var Action: TCloseAction);
var
HTaskbar: HWND;
OldVal: LongInt ;
begin
HTaskBar := FindWindow( 'Shell_TrayWnd' , nil );
SystemParametersInfo( 97 , Word ( False ), @OldVal, 0 );
EnableWindow(HTaskBar, True );
ShowWindow(HTaskbar, SW_SHOW);}
end ;
|
У меня соит система Вин 7, а данный код под нее некорекно работает - таскбар не появляется, появляется только кнопка "пуск".
Прбывал еще такой вариант показа таскбара:
Код:
1 2 3 4 5 6 | var
TaskBar: HWND;
begin
TaskBar := FindWindow( 'Shell_TrayWnd' , nil );
ShowWindow( TaskBar, SW_SHOW );
end ;
|
Этот од - и таск бар и кнока пус на месте, (кнопка работает нормально), таск бар - на экране есть, но он неработает (когда кликаешь на иконку в таскбаре - только раздается звук винды об ошибке
Кто знает как нормально восстановить таскбар?