Windows 7のプログラミング:タスクバー。 パート6-AppId

最近、アプリケーションの子ウィンドウのタブの表示を整理する方法について書きました。 この場合、アプリケーションの子ウィンドウを表示する必要がありました。 これらの目的のために、CustomWindowManagerクラスを使用しました。











同じアプリケーションの複数のインスタンスを実行すると、同じ効果が得られます。 この場合、Windows 7は同じアプリケーションであると判断し、ウィンドウを1つのアイコンにグループ化します。











それがどのように機能するかを理解してみましょう。 すべての中心には、アプリケーションIDなどの概念があります。 ウィンドウごとに、独自のIDを設定できます。 この機能は、このような動作を回避する必要がある場合にも使用できます。 この場合、各ウィンドウに異なるAppIdを設定する必要があります。 これは、.NET Interopサンプルライブラリを使用して実行できます。 これを行うには、SetAppIdメソッドを呼び出します。



private void SetAppIdButton_Click(object sender, EventArgs e)

{

WindowsFormsExtensions.SetAppId(this, “SomeAppId”);

}








したがって、ウィンドウごとに異なるAppIdを設定でき、それらはグループ化されません。











ただし、同様の方法で、異なるアプリケーションの複数のウィンドウをグループ化することもできます。 これを行うには、各ウィンドウに同じAppIdを設定する必要があります。 この場合、Windows 7タスクバーはこれらのアプリケーションを単一のアイコンにグループ化します。 たとえば、この場合、異なるアプリケーションの異なるウィンドウに同じAppIdを設定し、これらのウィンドウはWindows 7タスクバーでグループ化されました。











デモアプリケーション:

Taskbar-AppId.zip



All Articles