SHAppBarMessage function (shellapi.h)

Sends an appbar message to the system.

Syntax

UINT_PTR SHAppBarMessage(
  [in]      DWORD       dwMessage,
  [in, out] PAPPBARDATA pData
);

Parameters

[in] dwMessage

Type: DWORD

Appbar message value to send. This parameter can be one of the following values.

ABM_NEW (0x00000000)

Registers a new appbar and specifies the message identifier that the system should use to send notification messages to the appbar.

ABM_REMOVE (0x00000001)

Unregisters an appbar, removing the bar from the system's internal list.

ABM_QUERYPOS (0x00000002)

Requests a size and screen position for an appbar.

ABM_SETPOS (0x00000003)

Sets the size and screen position of an appbar.

ABM_GETSTATE (0x00000004)

Retrieves the autohide and always-on-top states of the Windows taskbar.

ABM_GETTASKBARPOS (0x00000005)

Retrieves the bounding rectangle of the Windows taskbar. Note that this applies only to the system taskbar. Other objects, particularly toolbars supplied with third-party software, also can be present. As a result, some of the screen area not covered by the Windows taskbar might not be visible to the user. To retrieve the area of the screen not covered by both the taskbar and other app bars—the working area available to your application—, use the GetMonitorInfo function.

ABM_ACTIVATE (0x00000006)

Notifies the system to activate or deactivate an appbar. The lParam member of the APPBARDATA pointed to by pData is set to TRUE to activate or FALSE to deactivate.

ABM_GETAUTOHIDEBAR (0x00000007)

Retrieves the handle to the autohide appbar associated with a particular edge of the screen.

ABM_SETAUTOHIDEBAR (0x00000008)

Registers or unregisters an autohide appbar for an edge of the screen.

ABM_WINDOWPOSCHANGED (0x00000009)

Notifies the system when an appbar's position has changed.

ABM_SETSTATE (0x0000000A)

Windows XP and later: Sets the state of the appbar's autohide and always-on-top attributes.

ABM_GETAUTOHIDEBAREX (0x0000000B)

Windows XP and later: Retrieves the handle to the autohide appbar associated with a particular edge of a particular monitor.

ABM_SETAUTOHIDEBAREX (0x0000000C)

Windows XP and later: Registers or unregisters an autohide appbar for an edge of a particular monitor.

[in, out] pData

Type: PAPPBARDATA

A pointer to an APPBARDATA structure. The content of the structure on entry and on exit depends on the value set in the dwMessage parameter. See the individual message pages for specifics.

Return value

Type: UINT_PTR

This function returns a message-dependent value. For more information, see the Windows SDK documentation for the specific appbar message sent. Links to those documents are given in the See Also section.

Requirements

Requirement Value
Minimum supported client Windows XP [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header shellapi.h
Library Shell32.lib
DLL Shell32.dll (version 4.0 or later)
API set ext-ms-win-shell-shell32-l1-2-1 (introduced in Windows 10, version 10.0.10240)

See also

ABM_ACTIVATE

ABM_GETAUTOHIDEBAR

ABM_GETAUTOHIDEBAREX

ABM_GETSTATE

ABM_GETTASKBARPOS

ABM_NEW

ABM_QUERYPOS

ABM_REMOVE

ABM_SETAUTOHIDEBAR

ABM_SETAUTOHIDEBAREX

ABM_SETPOS

ABM_SETSTATE

ABM_WINDOWPOSCHANGED