当用户打开应用程序两次时,如何避免任务栏按钮被合并到我的应用程序中?

时间:2018-10-03 12:28:57

标签: c# .net vb.net

在Windows的最新版本中,当我两次打开同一应用程序时,任务栏会将两个按钮组合在一起。我该怎么做才能避免这种情况(不包括更改Windows设置,因为我只希望将其用于我的应用程序,而不是所有应用程序)。

1 个答案:

答案 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
     

,其中Sub­Product是可选的,而Version youInformation仅在您希望将不同版本的应用程序视为不同版本时才存在。 (如果您希望升级版本代替旧版本,请省略Version oInformation,以便新旧版本使用相同的AppID。)

     

然后,将此AppID分配给与“应用程序”关联的每个窗口。您可以通过调用SetCurrentProcessExplicitAppUserModelID在整个过程中执行此操作,也可以通过设置PKEY_AppUserModel_ID属性在window-by-window basis上进行操作。