Firefox在C ++中使用this source code分配defaultGroupId
。
通过XPCOM我可以这样得到它:
Cc["@mozilla.org/windows-taskbar;1"].getService(Ci.nsIWinTaskbar).defaultGroupId;
我也可以使用nsIWinTaskbar
服务进行设置,但每次打开窗口时都必须这样做。
因此,基本上每当窗口打开时,它都会以DEFAULT组ID开启。
我想更改defaultGroupId
。这可能吗?我的另一种方法是在打开时设置每个窗口的组ID,这是一种密集型,因此我想避免:(
答案 0 :(得分:1)
首先,defaultGroupId
实际上并未分配。它本质上是一个getter属性,每次访问它时都会重新计算。 因此您无法重新分配。
您可以覆盖/代理整个服务,但这也不起作用,因为该方法也会在某些地方直接调用,绕过您提供的备用XPCOM实现。所以你不能覆盖它。
您不希望修补进程内存,因为这将是一个非常大的黑客,它会在未来的版本中突然爆炸。
所以不,你不能覆盖/重新分配默认值。