C# 如何在Windows任务栏中对不同的应用进行分组?

C# 如何在Windows任务栏中对不同的应用进行分组?,c#,windows,grouping,taskbar,C#,Windows,Grouping,Taskbar,我的电脑上同时运行着5个不同的C#应用程序。它们占用了我任务栏的大量空间。如何在任务栏(使用windows 10)中将它们组合在一起 我还没有尝试过这个,但是你可能想看看 . 我认为财产可能是关键 哦,我刚刚在堆栈溢出上发现了这个: 希望这会有所帮助。您需要pinvoke设置CurrentProcessExplicitappUserModelId()为所有要共享任务栏按钮的应用程序提供相同的AppID。然后,操作系统会将您的5个应用程序视为同一个应用程序 确保在显示应用程序的任何UI之前调用

我的电脑上同时运行着5个不同的C#应用程序。它们占用了我任务栏的大量空间。如何在任务栏(使用windows 10)中将它们组合在一起

我还没有尝试过这个,但是你可能想看看 . 我认为财产可能是关键

哦,我刚刚在堆栈溢出上发现了这个:


希望这会有所帮助。

您需要pinvoke
设置CurrentProcessExplicitappUserModelId()
为所有要共享任务栏按钮的应用程序提供相同的AppID。然后,操作系统会将您的5个应用程序视为同一个应用程序

确保在显示应用程序的任何UI之前调用

[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);

你为什么问这个而不是超级用户?这不是一个编程问题。很明显,你没有阅读整个问题文本…我读了。这是由操作系统完成的,它不是应用程序或窗口样式。它由任务栏属性中的“任务栏按钮”行为控制。即使选择“始终合并”,也只会显示具有平铺效果的同一应用程序的实例。如果你问(如)关于跳投名单的事,那将是另一回事