(*Autre méthode (plus directe)
Elle donne :
La position de la barre des tâches
Sa taille
Et si elle est en AutoHide où non
Il existe d'autres possibilités voir dans l'aide de Delphi sous SHAppBarMessage
*)
Uses ShellApi;
procedure TForm1.Button1Click(Sender: TObject);
Var AppData: TAppBarData;
PosString: string;
begin
AppData.cbSize := sizeof(AppData);
AppData.hWnd := FindWindow('Shell_TrayWnd', nil);
SHAppBarMessage(ABM_GETTASKBARPOS, AppData);
With AppData.rc do
PosString := Format(' [%d, %d];[%d, %d] ', [Left, Top, Right, Bottom]);
If SHAppBarMessage(ABM_GETAUTOHIDEBAR, AppData) = AppData.hWnd Then
PosString := PosString + 'AutoHide' Else
PosString := PosString + 'NonAutoHide';
case AppData.uEdge of
ABE_LEFT: ShowMessage('Left Position' + PosString);
ABE_TOP: ShowMessage('Top Position' + PosString);
ABE_RIGHT: ShowMessage('Right Position' + PosString);
ABE_BOTTOM: ShowMessage('Bottom Position' + PosString);
end;
(* Simple ... non ? *)
end;