我有一个实际的例子是:获得是否自动隐藏
function IsTaskbarAutoHideOn : Boolean;
var
ABData : TAppBarData;
begin
ABData.cbSize := SizeOf (ABData);
result := (SHAppBarMessage (ABM_GETSTATE, ABData) and ABS_AUTOHIDE) > 0
end;
procedure Tfrm_Main.Button31Click(Sender: TObject);
begin
if IsTaskbarAutoHideOn then
begin
showmessage('任务栏是自动隐藏的哦!');
end else
showmessage('任务栏不是自动隐藏的哦!');
end;
var
pabd:TAppBarData;
SysTrayHandle:THandle;
rValue:Integer;
begin
SysTrayHandle:=FindWindow('Shell_TrayWnd',nil );
with pabd do
Begin
cbSize:=SizeOf(pabd);
hWnd:=SysTrayHandle;
uCallbackMessage:=0;
uEdge:=ABE_BOTTOM;
lParam:=1;//0 means register
End;
rValue:=SHAppBarMessage(ABM_GETSTATE,pabd);
ShowMessage('Status='+IntToStr(rValue));
//2 means normal,3 means autohide