Mar 09, 2020 This however makes no difference, it still creates a shortcut on the taskbar after starting Edge for the first time. I also tried 'donotcreatequicklaunchshortcut':true as this is what is supported for Chrome in Windows 10, the other value is for Windows 8 and below.
- Did you know you can now pin your websites to the taskbar while browsing in Microsoft Edge? With the Windows 10 Fall Creators Update, you can pin your favorite websites to the taskbar and have the icon show up in the taskbar for instant access.
- To pin Microsoft Edge to the taskbar in Windows 10, you'll simply need to open it and right-click its icon. You can also keep Edge in a Mac's dock.
You can pin up to three additional apps to the taskbar. There are two methods to do this:
Taskbar Layout Modification XML method (recommended)
- Supports multivariant images; you can specify different sets of taskbar layouts for different regions.
- Uses a single XML file.
- Is the only method that allows you to add UWP apps to the taskbar.
- In the examples below, the file name “TaskbarLayoutModification.xml” is used, however, you can choose any name you like.
Classic Unattend method (still supported in Windows 10, but marked as deprecated, and may not be available in future builds)
- Uses the Unattend setting: TaskbarLinks
Taskbar links and ordering
The taskbar starts with the following links: Start, Search, and Task View, plus four additional Windows-provided links: Mail, Edge, File Explorer, and Store. These pins cannot be removed or replaced.
OEMs can add up to three additional pinned apps to the taskbar.
For left-to-right languages, the taskbar icons are ordered from left to right (Start, Search, Task View, Windows-provided Pins, OEM-provided pins, Mail).For right-to-left languages, the taskbar icons are in the opposite order, with the right-most element being Start.
Add a default path
To use a Taskbar Layout Modification XML file in Windows, you’ll need to add a registry key (LayoutXMLPath) to the image, and then generalize and recapture the image. The registry key must be processed before the specialize configuration pass. This means you won’t be able to simply add the registry key by using Synchronous Commands/FirstLogonCommands unless you plan to generalize the image afterwards.
We recommend using the file location C:WindowsOEMTaskbarLayoutModification.xml, because this is the default path used for Push-button reset auto-apply folders.
The other shortcut files, apps, and the Taskbar Layout Modification file itself can be changed at any time through regular imaging techniques. You can add this registry key to all your images, even if you intend to add taskbar links using the Classic Unattend method.
Configure taskbarlayoutmodification.xml
Install the Windows image to a technician computer.
After the image boots, go into audit mode by pressing CTRL+SHIFT+F3.
Add the following registry key to define a default location for the Taskbar Layout Modification file:
cmd /c reg add HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorer /v LayoutXMLPath /d C:WindowsOEMTaskbarLayoutModification.xmlAdd a Taskbar Layout Modification file (TaskbarLayoutModification.xml) in the default location, for example:
C:WindowsOEMTaskbarLayoutModification.xml. We also recommend placing a backup copy of the file atC:RecoveryAutoApplyTaskbarLayoutModification.xmlso it will be restored during a push-button reset.Generalize the Windows image using Sysprep:
Sysprep /generalize /oobe /shutdownBoot to Windows PE.
Recapture the image. For example:
Dism /Capture-Image /CaptureDir:C: /ImageFile:c:install-with-new-taskbar-layout.wim /Name:'Windows image with Taskbar layout'You can now apply this image to other PCs.
To reference your apps
For Classic Windows applications, use shortcut (.lnk) files. We recommend using the same shortcut .lnk files in the All Users Start menu. Example:
For Universal Windows apps, use the Universal Windows app user model ID. Example:
UWA AppUserModelID='Microsoft.Windows.Photos_8wekyb3d8bbwe!App'
To use different layouts for different regions
To use different layouts for different regions, include a region in the defaultlayout tag. These regions use the second half of the language/region tags listed in Available Language Packs for Windows. You can use multiple region tags separated by a pipe (|) character. Here is an example of adding pins to the Chinese (PRC) and Chinese (Taiwan) regions:
How Windows parses the setting for Unattend and Taskbar Layout Modification XML
While you’re transitioning to the new method to customize the taskbar, you may end up using existing images that still include your old Unattend TaskbarLinks settings. When that happens:
- If Windows finds a valid Taskbar Layout Modification XML file, it uses the XML file, and ignores any of the Unattend taskbar settings.
- If the Taskbar Layout Modification XML file isn't found, or is invalid, Windows looks for the old Unattend TaskbarLinks settings. If it finds them, it uses them.
- If Windows can't find either a valid Taskbar Layout Modification XML file, or Unattend TaskbarLink settings, then only the Windows-provided pins and Start, Search, and Task View are shown.
Set transparency for the taskbar
The default transparency setting for the taskbar is 15%. To make Taskbar work with the Dark Mode on OLED displays, you need to set the taskbar transparency to 40%.
To set the transparency for the Taskbar, create a registry key called “UseOLEDTaskbarTransparency” and place it in the following location:
HKLMSoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced
Important
This registry key should only be used to change the taskbar transparency for OLED screens. We do not advise changing the default transparency on non-OLED displays.
Action Center
Most quick action tiles that are pinned in the Action Center are not customizable. You can, however, enable one of the desktop quick action tiles, Color Profile, if more than one color profile is installed on the device. By default, this quick action tile is not available. To let users see Color Profile in the Action Center:
Install at least two ICC color profiles on the primary display. For more information on how to accomplish this, please work with your Microsoft representative.
Add the following registry key to enable the Microsoft.QuickAction.ColorProfile quick action:
HKLMSoftwareMicrosoftWindowsShellOEMQuickActionsColorProfileQuickAction= 0x1 (DWORD)
The Windows interface includes a special application desktop toolbar called the taskbar. You can use the taskbar for such tasks as switching between open windows and starting new applications.
Note
For information on changes made to the taskbar as of Windows 7, see Taskbar Extensions.
This topic contains the following sections.

- About the Taskbar
- Using the Taskbar
About the Taskbar
The taskbar includes the following:
- Start menu
- Quick Launch bar (Windows Vista and earlier only)
- Taskbar buttons
- Toolbars (optional)
- Notification area
The Start menu contains commands that can access programs, documents, and settings. These commands include All Programs, Documents, Control Panel, Games, Help and Support, Shut down, and Search programs and files.
The Start in earlier versions of Windows contained items such as Find and Run, the functionality of which was included in Search programs and files in Windows Vista and later.
The Quick Launch bar, available in versions of Windows earlier than Windows 7, contains shortcuts to applications. Windows provides default entries, such as Windows Internet Explorer, and the user can add any further shortcuts that they choose. Icons in this area respond to a single click. In Windows 7 and later, this functionality is included in the taskbar buttons.
The Shell places a button on the taskbar whenever an application creates an unowned window—that is, a window that does not have a parent and that has the appropriate extended style bits (see Managing Taskbar Buttons, below). To switch to a window, the user clicks its window button. This functionality has been greatly expanded as of Windows 7. For more information, see Taskbar Extensions.
Applications can put icons in the notification area to indicate the status of an operation or to notify the user about an event. For example, an application might put a printer icon in the notification area to show that a print job is under way. However, in Windows 7 and later, some of the information previously provided by the notification area should be provided through an application's taskbar button. The notification area is located at the right edge of the taskbar (if the taskbar is horizontal) or at the bottom (if the taskbar is vertical). For more information, see Notifications and the Notification Area.
The notification area also displays the current time if that option is selected. The option is found as:
- Windows 7 and later: The Clock drop-down list in the Turn system icons on or off page of the Notification Area Icons Control Panel application (also accessible through the notification area properties).
- Windows Vista: The Clock check box in the Notification Area page of the Taskbar and Start Menu properties window.
- Windows XP: The Show the clock check box in the Taskbar and Start Menu properties window.
The user can right-click the taskbar to display the shortcut menu. The shortcut menu includes commands to cascade windows, stack windows, show windows side-by-side, show the desktop, start Task Manager, and set taskbar properties. The shortcut menu also provides the option to add or remove a set of toolbars from the taskbar. You can add new toolbars to this menu by registering them under the CATID_DeskBand category. For more information, see Implementing Band Objects. Note that as of Windows 7, the taskbar and the notification area have separate shortcut menus. These shortcut menus share some options, such as window arrangement, and add others.
Taskbar Display Options
The taskbar supports two display options: Auto-Hide and, in Windows Vista and earlier only, Always On Top (the taskbar is always in this mode in Windows 7 and later). To set these options, the user must open the taskbar shortcut menu, click Properties, and select or clear the Auto-hide the taskbar check box or the Keep the taskbar on top of other windows check box. To retrieve the state of these display options, use the ABM_GETSTATE message. If you would like to be notified when the state of these display options changes, process the ABN_STATECHANGE notification message in your window procedure. To change the state of these display options, use the ABM_SETSTATE message.
The work area is the portion of the screen not obscured by the taskbar. To retrieve the size of the work area, call the SystemParametersInfo function with the SPI_GETWORKAREA value set. To retrieve the rectangle coordinates that describe the location of the taskbar, use the ABM_GETTASKBARPOS message.
It is possible to cover the taskbar by explicitly setting the size of the window rectangle equal to the size of the screen with SetWindowPos. For Windows 2000 systems or later, the window must lack either WS_CAPTION or WS_THICKFRAME, or else the window must be sized so that the client area covers the entire screen. Also particular to those systems, if the taskbar is set to Always On Top, it will remain hidden only while the application is the foreground application.
Adding Shortcuts to the Start Menu
To add an item to the Programs submenu on Microsoft Windows NT 4.0, Windows 2000 and later, or Windows 95 or later, follow these steps.
- Create a shell link by using the IShellLink interface.
- Obtain the PIDL of the Programs folder by using SHGetSpecialFolderLocation, passing CSIDL_PROGRAMS.
- Add the Shell link to the Programs folder. You can also create a folder in the Programs folder and add the link to that folder.
Managing Taskbar Buttons
The Shell creates a button on the taskbar whenever an application creates a window that isn't owned. To ensure that the window button is placed on the taskbar, create an unowned window with the WS_EX_APPWINDOW extended style. To prevent the window button from being placed on the taskbar, create the unowned window with the WS_EX_TOOLWINDOW extended style. As an alternative, you can create a hidden window and make this hidden window the owner of your visible window.
The Shell will remove a window's button from the taskbar only if the window's style supports visible taskbar buttons. If you want to dynamically change a window's style to one that does not support visible taskbar buttons, you must hide the window first (by calling ShowWindow with SW_HIDE), change the window style, and then show the window.
The window button typically contains the application icon and title. However, if the application does not contain a system menu, the window button is created without the icon.
If you want your application to get the user's attention when the window is not active, use the FlashWindow function to let the user know that a message is waiting. This function flashes the window button. Once the user clicks the window button to activate the window, your application can display the message.
Modifying the Contents of the Taskbar
Version 4.71 and later of Shell32.dll adds the capability to modify the contents of the taskbar. From an application, you can now add, remove, and activate taskbar buttons. Activating the item does not activate the window; it shows the item as pressed on the taskbar.
The taskbar modification capabilities are implemented in a Component Object Model (COM) object (CLSID_TaskbarList ) that exposes the ITaskbarList interface (IID_ITaskbarList). You must call the ITaskbarList::HrInit method to initialize the object. You can then use the methods of the ITaskbarList interface to modify the contents of the taskbar.
Adding, Modifying, and Deleting Icons in the Notification Area
Use the Shell_NotifyIcon function to add, modify, or delete icons from the notification area. The dwMessage parameter of Shell_NotifyIcon is a message to the taskbar that specifies the action to be taken. The pnid parameter is a pointer to a NOTIFYICONDATA structure that is used to identify the icon and pass any additional information that is needed for the system to process the message.
You can perform the following actions with notification area icons.
- To add an icon to the taskbar's notification area, call Shell_NotifyIcon with the dwMessage parameter set to NIM_ADD. The NOTIFYICONDATA structure is used to specify the icon's handle and identifier, and any tooltip text. If the user has selected the Show Clock check box in the taskbar properties, the system places the icon to the immediate left of the clock. Otherwise, the icon appears on the right side or at the bottom of the taskbar. Any existing icons are shifted to the left to make room for the new icon.
- To modify an icon's information, including its icon handle, tooltip text, and callback message identifier, call Shell_NotifyIcon with dwMessage set to NIM_MODIFY.
- To delete an icon from the notification area, call Shell_NotifyIcon with the dwMessage parameter set to NIM_DELETE.
When you have completed a user interface operation, return focus to the notification area by calling Shell_NotifyIcon with dwMessage set to NIM_SETFOCUS. For example, you could do this when a taskbar icon displays a shortcut menu, but the user cancels it by pressing the ESCAPE key.
Receiving Notification Area Callback Messages
Applications commonly put icons in the notification area of the taskbar to serve as status indicators. You can provide additional information when the user performs mouse actions, such as moving the mouse pointer over the icon or clicking the icon.
The system notifies you of mouse and keyboard events by sending an application-defined callback message that is associated with a particular icon. In this way, the system can notify an application when the user, for instance, clicks the icon or selects it by pressing a key.
You define an icon's callback message when you add the icon to the taskbar. The callback message identifier is specified in the uCallbackMessage member of the NOTIFYICONDATA structure passed with NIM_ADD. When an event occurs, the system sends the callback message to the window procedure of the window specified by the hWnd member. The wParam parameter of the message contains the identifier of the taskbar icon in which the event occurred. The lParam parameter holds the mouse or keyboard message associated with the event. For example, when the mouse pointer moves onto a taskbar icon, lParam contains WM_MOUSEMOVE.
The results of various mouse events can be summarized as follows:
- When the user moves the mouse pointer over the icon, the system displays the tooltip text that was specified in NOTIFYICONDATA.
- When the user clicks the icon, your application receives a WM_LBUTTONDOWN notification.
- When the user right-clicks the icon, your application receives a WM_RBUTTONDOWN notification.
- When the user double-clicks the icon, your application receives a WM_LBUTTONDBLCLK notification.
Typically, clicking the icon causes the application to display a window with additional information, right-clicking displays a shortcut menu, and double-clicking executes the default shortcut menu command.
For an example of how to change the tooltip text associated with a notification area icon, see Balloon Tooltips for Status Bar Icons.
Versions 5.0 and later of the Shell handle Shell_NotifyIcon mouse and keyboard events in different ways than earlier Shell versions found on Windows NT 4.0, Windows 95, and Windows 98. The differences are as follows:
- If a user requests a notify icon's shortcut menu with the keyboard, the version 5.0 Shell sends the associated application a WM_CONTEXTMENU message. Earlier versions send WM_RBUTTONDOWN and WM_RBUTTONUP messages.
- If a user selects a notify icon with the keyboard and activates it with the space bar or ENTER key, the version 5.0 Shell sends the associated application an NIN_KEYSELECT notification. Earlier versions send WM_RBUTTONDOWN and WM_RBUTTONUP messages.
- If a user selects a notify icon with the mouse and activates it with the ENTER key, the version 5.0 Shell sends the associated application an NIN_SELECT notification. Earlier versions send WM_RBUTTONDOWN and WM_RBUTTONUP messages.
- If a user passes the mouse pointer over an icon with which a balloon tooltip is associated, the version 6.0 Shell (Windows XP)sends the following messages.
- NIN_BALLOONSHOW - Sent when the balloon is shown (balloons are queued).
- NIN_BALLOONHIDE - Sent when the balloon disappears—for example, when the icon is deleted. This message is not sent if the balloon is dismissed because of a timeout or a mouse click.
- NIN_BALLOONTIMEOUT - Sent when the balloon is dismissed because of a timeout.
- NIN_BALLOONUSERCLICK - Sent when the balloon is dismissed because of a mouse click.
You can select which way the Shell should behave by calling Shell_NotifyIcon with dwMessage set to NIM_SETVERSION. Set the uVersion member of the NOTIFYICONDATA structure to indicate whether you want version 5.0 or pre-version 5.0 behavior.
Taskbar Creation Notification
With Microsoft Internet Explorer 4.0 and later, the Shell notifies applications that the taskbar has been created. When the taskbar is created, it registers a message with the TaskbarCreated string and then broadcasts this message to all top-level windows. When your taskbar application receives this message, it should assume that any taskbar icons it added have been removed and add them again. This feature generally applies only to services that are already running when the Shell launches. The following example shows a very simplified method for handling this case.
On Windows 10, the taskbar also broadcasts this message when the DPI of the primary display changes.
Using the Taskbar
This section includes examples that demonstrate how to add icons to the taskbar notification area and how to process callback messages for taskbar icons.
Adding and Deleting Taskbar Icons in the Notification Area
You add an icon to the taskbar notification area by filling in a NOTIFYICONDATA structure and then passing the structure to Shell_NotifyIcon with dwMessage set to NIM_ADD. The structure members must specify the handle to the window that is adding the icon, as well as the icon identifier and icon handle. You can also specify tooltip text for the icon. If you need to receive mouse messages for the icon, specify the identifier of the callback message that the system should use to send the message to the window procedure.
The function in the following example demonstrates how to add an icon to the taskbar.
To delete an icon from the taskbar notification area, fill a NOTIFYICONDATA structure and call Shell_NotifyIcon with dwMessage set to NIM_DELETE. When deleting a taskbar icon, specify only the cbSize, hWnd, and uID members of the structure. For example:
Receiving Mouse Events
If you specify a callback message for a taskbar icon, the system sends the message to your application whenever a mouse event occurs in the icon's bounding rectangle. The wParam parameter of the message specifies the identifier of the taskbar icon, and the lParam parameter of the message specifies the message that the system generated as a result of the mouse event.
Microsoft Edge Taskbar Icon Disappear
The function in the following example is from an application that adds both battery and printer icons to the taskbar. The application calls the function when it receives a callback message. The function determines whether the user has clicked one of the icons and, if a click has occurred, calls an application-defined function to display status information.
