控制Windows 7的任务栏分组为我的应用程序

我的程序需要在用户请求时打开一系列信息窗口,并且想在Windows 7任务栏上实现某种自定义分组。

期望的function:我所有的信息窗口应该组合在一起(如果在用户系统上启用了分组,那就是),但是我的主窗口不应该与信息窗口分组。

我不能为我的信息窗口产生一个新的过程。

我的思考过程是可以有办法修改信息窗口的窗口句柄,以便让任务栏单独分组,但我真的不知道从哪里开始。

编辑

我发现了一些新的信息。 我可以用SHGetPropertyStoreForWindow做一些事情, SHGetPropertyStoreForWindow : http : //msdn.microsoft.com/en-us/library/windows/desktop/dd378459( SHGetPropertyStoreForWindow

…作为任何应用程序的运行窗口的属性。 这可以通过以下两种方法之一来设置:如果一个进程拥有的不同窗口需要不同的AppUserModelID来控制任务栏分组,请使用SHGetPropertyStoreForWindow来检索窗口的属性存储,并将AppUserModelID设置为窗口属性。

Solutions Collecting From Web of "控制Windows 7的任务栏分组为我的应用程序"

应用程序用户模型ID说:

“如果一个进程所拥有的不同窗口需要不同的AppUserModelID来控制任务栏分组,请使用SHGetPropertyStoreForWindow检索窗口的属性存储,并将AppUserModelID设置为窗口属性。

我通过使用Windows API代码包和下面的代码解决了这个问题:

 TaskbarManager.Instance.SetApplicationIdForSpecificWindow(window, guid); 

分配有相同ID的窗口将被分组在一起 – 具有唯一ID的窗口将具有单独的任务栏图标。