An explicit Application User Model ID (AppUserModelID) used to associate processes, files, and windows with a particular application. In some cases, it is sufficient to rely on the internal AppUserModelID assigned to a process by the system. However, an application that owns multiple processes or an application that is running in a host process might need to explicitly identify itself through this property so that it can group its otherwise disparate windows under a single taskbar button and control the contents of that application's Jump List.
To set this property on a window, use SHGetPropertyStoreForWindow to retrieve the window's property store, and use the methods of that retrieved IPropertyStore object to set the System.AppUserModel.ID property of that window.
For more information, see Application User Model IDs (AppUserModelIDs).
At the time the System.AppUserModel.ID property is set, the taskbar is notified to refresh its information on the window or shortcut given that AppUserModelID.
Other window and shortcut properties can be used in conjunction with an explicit AppUserModelID to further control the grouping and pinning associated with a window, the display name and icon used for it in the taskbar, and the command to launch either an application pinned to the taskbar or a new instance of the application through that application's Jump List. These properties should be set before setting the System.AppUserModel.ID property. For more information, see the following topics:
Windows 10, version 1703, Windows 10, version 1607, Windows 10, version 1511, Windows 10, version 1507, Windows 8.1, Windows 8, Windows 7
propertyDescription name = System.AppUserModel.ID shellPKey = PKEY_AppUserModel_ID formatID = 9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3 propID = 5 SearchInfo InInvertedIndex = false IsColumn = false typeInfo type = String IsInnate = false
PKEY values are defined in Propkey.h.