我想在Windows XP任务栏中为Windows创建一个新组。我想将窗口从一个组移动到另一个组,我该怎么做?
这是一组有7个窗口的图像:
我想要做的是将一些窗口移到自己的组中。
答案 0 :(得分:2)
XP中没有正式支持您要求的内容。基于每个正在运行的进程的可执行文件,操作系统控制分组。同一可执行文件的多个实例组合在一起。没有选项可以更改该行为,只能在“控制面板”设置中启用/禁用它。如果您想操作组,则必须使用工具栏API和未记录的数据结构手动执行此操作,如本文所述:Manipulating Taskbar Buttons(使用风险自负)。
您正在寻找的功能在Windows 7及更高版本中得到官方支持,而不是使用 Application User Model IDs 。分配了相同AppUserModelID的Windows将组合在一起。使用SetCurrentProcessExplicitAppUserModelID()设置流程范围的AppUserModelID。如果应用程序(如遗留应用程序)未分配进程范围的AppUserModelID,则操作系统会自动生成一个应用程序。进程AppUserModelID在创建窗口时用作默认值。然后,如果需要,可以使用SHGetPropertyStoreForWindow()和IPropertyStore::SetValue()分配特定于窗口的AppUserModelID。这允许单个进程具有多个任务栏组,并允许多个相关进程使用单个共享任务栏组。