在Windows的最新版本中,当我两次打开同一应用程序时,任务栏会将两个按钮组合在一起。我该怎么做才能避免这种情况(不包括更改Windows设置,因为我只希望将其用于我的应用程序,而不是所有应用程序)。
答案 0 :(得分:2)
Raymond Chen不久前在他的博客上How do I customize how my application windows are grouped in the Taskbar?详细介绍了如何执行此操作:
本文中的所有信息均来自MSDN中的文章Application User Model IDs (AppUserModelIDs)。
好的,所以假设您的应用程序实际上是其他应用程序的运行时。您需要做的是为您托管的每个应用程序分配一个不同的AppID。机制由您决定。您的应用程序可以显式提供唯一的ID,或者您可以推断一个。例如,如果您是Internet Explorer,并且您的“应用程序”是固定的网站,则可以使用被固定的网站的URL作为唯一ID。
然后,您将获取自己的唯一ID并为其创建AppID。 format of an AppID是
CompanyName.ProductName.SubProduct.VersionInformation
,其中SubProduct是可选的,而Version youInformation仅在您希望将不同版本的应用程序视为不同版本时才存在。 (如果您希望升级版本代替旧版本,请省略Version oInformation,以便新旧版本使用相同的AppID。)
然后,将此AppID分配给与“应用程序”关联的每个窗口。您可以通过调用
SetCurrentProcessExplicitAppUserModelID
在整个过程中执行此操作,也可以通过设置PKEY_AppUserModel_ID
属性在window-by-window basis上进行操作。