如何在Windows任务栏中分组不同的应用程序?

7

我在电脑上同时运行了5个不同的C#应用程序。它们占据了我的任务栏很多空间。我该如何编写代码使它们在任务栏上分组显示(使用Windows 10)。


你为什么在SO上问这个问题而不是在超级用户上?这不是一个编程问题。 - Panagiotis Kanavos
1
很明显你没有阅读完整个问题的文本... - Engür Canfes
这是由操作系统完成的,不是应用程序或窗口样式。它受任务栏属性中的“任务栏按钮”行为控制。即使您选择了“始终合并”,同一应用程序的实例也会以平铺效果显示。如果您询问例如Jumplists,那将是另一回事。 - Panagiotis Kanavos
2个回答

11

您需要使用pinvoke调用SetCurrentProcessExplicitAppUserModelID(),为所有希望共享任务栏按钮的应用程序提供相同的AppID。操作系统将把这5个应用程序视为同一应用程序。

请确保在显示任何应用程序用户界面之前调用SetCurrentProcessExplicitAppUserModelID()

[DllImport("shell32.dll", SetLastError=true)]
static extern void SetCurrentProcessExplicitAppUserModelID( 
    [MarshalAs( UnmanagedType.LPWStr )] string AppID );

private static string AppID = "some guid"; // use the same ID in all 5 apps

...

SetCurrentProcessExplicitAppUserModelID(AppID);

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接