4

在 Windows 7 中,我们有 ApplicationID 的概念,它允许(除其他外)在任务栏中对多个图标进行分组。如何从 c# 更改正在运行的进程的 ApplicationID?我正在尝试使用另一个应用程序制作我的 WinForm 应用程序的图标组。我试过使用 Windows API 代码包库,在我的 Load 事件中粘贴以下代码......但它没有用。建议?

TaskbarManager.Instance.ApplicationId = "MyAppID";    
Process[] p = Process.GetProcessesByName("OtherProcess");
TaskbarManager.Instance.SetApplicationIdForSpecificWindow(p[0].MainWindowHandle, "MyAppID");
4

2 回答 2

2

我复制这个。我认为 SDK 文档是错误的,而 SetApplicationIdForSpecificWindow() 方法的 XML 文档是正确的:

AppId 为应用程序或单个顶级窗口指定唯一的应用程序用户模型 ID (AppID),其任务栏按钮将保存通过方法类构建的自定义 JumpList。

通过为特定窗口设置 appId,该窗口将不会与其父窗口/应用程序分组。相反,它将拥有自己的任务栏按钮。

我强调NOT。

于 2010-03-05T18:36:18.650 回答
0

一个(有点)明显的解决方案是将要组合在一起的两个窗口的 Application ID 设置为相同的 ID

例子:

TaskbarManager.Instance.SetApplicationIdForSpecificWindow(win1.MainWindowHandle, "W00T");
TaskbarManager.Instance.SetApplicationIdForSpecificWindow(win2.MainWindowHandle, "W00T");

Aaaa 和两个窗口将组合在一起。

于 2011-10-04T03:02:27.400 回答