タスク バーの拡張機能
Windows 7 の時点で、タスク バーは、できるだけ迅速かつ効率的にユーザーを配置するという基本原則の下で大幅に拡張されています。 そのために、ユーザーが実行する必要があるアプリケーション ウィンドウ、ファイル、コマンドが、以前に散在していた情報ソースとコントロールを統合する単一のタスク バー ボタンに一元化されるようになりました。 ユーザーは、一般的なタスク、最近の頻繁なファイル、アラート、進行状況通知、および個々のドキュメントまたはタブのサムネイルをすべて 1 か所で検索できるようになりました。
- 統合された起動と切り替え
- ジャンプ リスト を する
- Destinations
- タスク
- ジャンプ リスト のカスタマイズの
- サムネイル ツール バーの
- アイコン オーバーレイ
- 進行状況バーの
- Deskbands
- 通知領域の
- サムネイル
- 関連トピック
統合された起動と切り替え
Windows 7 タスク バーの時点で、サイド リンク バーは別のツール バーではなくなりました。 サイド リンク バーに通常含まれるランチャー ショートカットがタスク バー自体にピン留めされ、現在実行中のアプリケーションのボタンと混ざり合うようになりました。 ユーザーがピン留めされたランチャー ショートカットからアプリケーションを起動すると、アプリケーションが実行されている限り、アイコンはアプリケーションのタスク バー ボタンに変換されます。 ユーザーがアプリケーションを閉じると、ボタンはアイコンに戻ります。 ただし、起動ツールのショートカットと実行中のアプリケーションのボタンの両方が、Windows 7 タスク バー ボタンとは異なる形式です。
windows 7 タスク バーする
新しいインストールでは、少数のアプリケーションセットが既定でピン留めされています。 それ以外の場合は、ユーザーのみが追加のアプリケーションをピン留めできます。アプリケーションによるプログラムによるピン留めは許可されていません。
サイド リンク バーの [デスクトップの表示] 機能がタスク バーの右端に表示されるようになりました。 この領域をポイントすると、アクティブなすべてのウィンドウが透明になり、デスクトップが表示されます。 領域をクリックすると、すべてのウィンドウを最小化し、デスクトップに切り替えるという使い慣れた操作が実行されます。
アプリケーションの実行中、タスク バー ボタンは、以下の各機能にアクセスするための 1 つの場所になります。詳細については、以下で説明します。
- タスク: アプリケーションが実行されていない場合でも、一般的なアプリケーション コマンドが存在します。
- Destinations: アプリケーションに固有の最近頻繁にアクセスされるファイル。
- サムネイル: 個々のタブやドキュメントの切り替えターゲットを含むウィンドウ切り替え。
- サムネイルツールバー: サムネイル自体からの基本的なアプリケーション制御。
- 進行状況バーの と アイコンオーバーレイ: ステータス通知。
タスク バー ボタンは、ランチャー、1 つのアプリケーション ウィンドウ、またはグループを表すことができます。 アプリケーション ユーザー モデル ID (AppUserModelID) と呼ばれる識別子が各グループに割り当てられます。 AppUserModelID を指定して標準タスク バーのグループ化をオーバーライドできます。これにより、ウィンドウが同じグループのメンバーになり、それ以外の場合はそのように表示されない可能性があります。 グループの各メンバーには、グループのタスク バー ボタンの上にマウス ポインターを置いたときに表示されるサムネイル ポップアップに個別のプレビューが表示されます。 グループ化自体は省略可能なままであることに注意してください。
Windows 7 の時点で、ユーザーがドラッグ アンド ドロップ操作を使用してタスク バー ボタンを再配置できるようになりました。
手記
サイド リンク バー の UI はなくなりましたが、サイド リンク バー フォルダー (FOLDERID_QuickLaunch) は下位互換性のために引き続き使用できます。 ただし、新しいアプリケーションでは、インストール中にサイド リンク バーにアイコンを追加するように要求しないでください。
詳細については、「アプリケーション ユーザー モデル ID (AppUserModelID)を参照してください。
ジャンプ リスト
ユーザーは通常、ドキュメントにアクセスしたり、プログラム内でタスクを実行したりする目的でプログラムを起動します。 ゲーム プログラムのユーザーは、最初からゲームを再起動するのではなく、セーブ データにアクセスしたり、特定のキャラクターとして起動したりしたい場合があります。 ユーザーが最終的な目標をより効率的に達成するには、アプリケーションに関連付けられている 宛先の と一般的な タスクの一覧が、そのアプリケーションのタスク バー ボタン (および同等の [スタート] メニュー エントリ) に関連付けられます。 これは、アプリケーションのジャンプ リストです。 ジャンプ リストは、タスク バー ボタンが起動ツールの状態 (アプリケーションが実行されていない) か、または 1 つ以上のウィンドウを表しているかどうかに関係なく使用できます。 タスク バー ボタンを右クリックすると、次の図に示すように、アプリケーションのジャンプ リストが表示されます。
ピン留めされた、頻繁な、タスクのカテゴリを含むジャンプ リストを
既定では、標準のジャンプ リストには最近のアイテムとピン留めされたアイテムの 2 つのカテゴリが含まれていますが、コンテンツを含むカテゴリのみが UI に表示されるため、これらのカテゴリは最初の起動時には表示しません。 常に表示されるのは、アプリケーション起動アイコン (アプリケーションのインスタンスをさらに起動するため)、タスク バーからアプリケーションをピン留めまたはピン留め解除するオプション、開いているウィンドウの [閉じる] コマンドです。
目的 地
最近使用した と 頻度の高い カテゴリには、宛先が含まれていると見なされます。 宛先 (通常はファイル、ドキュメント、または URL) は、編集、参照、表示などを行うことができます。 宛先はアクションではなく、モノと考えてください。 通常、宛先はシェル名前空間内の項目であり、IShellItem または IShellLinkによって表されます。 宛先リストのこれらの部分は、スタート メニューの最近使用したドキュメント リスト (既定では表示されなくなります) や頻繁に使用されるアプリケーション リストに似ていますが、アプリケーションに固有であるため、ユーザーにとってより正確で便利です。 宛先リストで使用される結果は、SHAddToRecentDocs呼び出しによって計算されます。 ユーザーがエクスプローラーからファイルを開いたり、共通ファイル ダイアログを使用してファイルを開いたり、保存したり、作成したりすると、SHAddToRecentDocs が自動的に呼び出されるため、多くのアプリケーションで最近の項目が宛先リストに表示され、その一部に何もアクションが発生しません。
宛先の起動は、[ で開く] コマンドを使用して項目を起動するのとよく似ています。 アプリケーションは、その宛先が読み込まれて使用できる状態で起動します。 宛先リスト内の項目は、メール メッセージなどのドロップ先にリストからドラッグすることもできます。 これらの項目を宛先リストに一元化することで、ユーザーがはるかに速く行きたい場所を取得します。これが目標です。
アイテムが宛先リストの 最近の カテゴリ (または後のセクションで説明するように 頻繁に カテゴリまたは カスタム カテゴリ) に表示される場合、ユーザーは、アイテムが常にリスト内にあることを確認して簡単にアクセスできます。 これを行うには、そのアイテムをリストにピン留めし、そのアイテムを 固定 カテゴリに追加します。 ユーザーが移動先をアクティブに操作している場合、ユーザーは簡単に移動先を使用することを望んでいるので、アプリケーションの宛先リストにピン留めします。 ユーザーの作業が完了すると、単に項目のピン留めを解除します。 このユーザー コントロールでは、リストが整理され、関連性が維持されます。
宛先リストは、の [スタート] メニューのアプリケーション固有のバージョンと見なすことができます。 宛先リストはショートカット メニューではありません。 移動先リスト内の各項目を右クリックして、独自のショートカット メニューを表示できます。
API
- IApplicationDestinations::RemoveDestination
- IApplicationDestinations::RemoveAllDestinations
- IApplicationDocumentLists::GetList
- SHAddToRecentDocsの
用事
ジャンプ リストのもう 1 つの組み込み部分は、タスク カテゴリです。 宛先は何かですが、タスクはアクションであり、この場合はアプリケーション固有のアクションです。 別の言い方をすると、変換先は名詞であり、タスクは動詞です。 通常、タスクは、アプリケーションによってトリガーできる特定の機能を示すコマンド ライン引数を持つ IShellLink項目をします。 ここでも、アプリケーションに関連する情報を実用的な限り一元化するという考え方です。
アプリケーションは、プログラムの機能と、ユーザーがそれらに対して行うことを期待される重要な事柄の両方に基づいてタスクを定義します。 タスクが動作するためにアプリケーションを実行する必要がないという点で、タスクはコンテキストフリーである必要があります。 また、メール メッセージの作成やメール プログラムでの予定表の開き、ワード プロセッサでの新しいドキュメントの作成、特定のモードでのアプリケーションの起動、サブコマンドの起動など、通常のユーザーがアプリケーションで実行する統計的に最も一般的なアクションでもあります。 アプリケーションでは、標準ユーザーが必要としない高度な機能や、登録などの 1 回限りのアクションでメニューを乱雑にしないようにする必要があります。 アップグレードや特別オファーなどのプロモーションアイテムにはタスクを使用しないでください。
タスク リストを静的にすることを強くお勧めします。 アプリケーションの状態や状態に関係なく、同じままにする必要があります。 リストを動的に変更することは可能ですが、これは宛先リストのその部分が変更されることを期待していないユーザーを混乱させる可能性があることを考慮する必要があります。
API
ジャンプ リストのカスタマイズ
アプリケーションは、独自のカテゴリを定義し、ジャンプ リストの標準の 最近の と 頻繁な カテゴリに加えて、または代わりに追加できます。 アプリケーションは、アプリケーションのアーキテクチャと使用目的に基づいて、これらのカスタム カテゴリ内の独自の宛先を制御できます。 次のスクリーン ショットは、履歴カテゴリを持つカスタムジャンプリストを示しています。
カスタムジャンプリストする
アプリケーションがカスタム カテゴリを提供することを決定した場合、そのアプリケーションはカスタム カテゴリを設定する責任を負います。 カテゴリの内容は引き続きユーザー固有であり、ユーザー履歴、アクション、またはその両方に基づく必要がありますが、カスタム カテゴリを通じて、アプリケーションは追跡する対象と無視する対象を、アプリケーション オプションに基づいて判断できます。 たとえば、オーディオ プログラムでは、最近再生されたアルバムのみを含め、最近再生された個々のトラックを無視することができます。
ユーザーがリストから項目 (常にユーザー オプション) を削除した場合、アプリケーションはその項目を受け入れる必要があります。 また、アプリケーションでは、リスト内の項目が有効であること、または削除された場合に正常に失敗することも確認する必要があります。 個々の項目またはリストの内容全体をプログラムで削除できます。
宛先リスト内の項目の最大数は、表示解像度やフォント サイズなどのさまざまな要因に基づいてシステムによって決定されます。 すべてのカテゴリのすべての項目に十分な領域がない場合は、一番下から切り捨てられます。
API
- ICustomDestinationList
- IApplicationDestinationsの
- IApplicationDocumentLists
サムネイル ツール バー
ユーザーがアプリケーションのウィンドウを復元またはアクティブ化することなく、特定のウィンドウのキー コマンドにアクセスできるようにするには、アクティブなツール バー コントロールをそのウィンドウのサムネイル プレビューに埋め込むことができます。 たとえば、Windows Media Player では、再生、一時停止、ミュート、停止などの標準的なメディア トランスポート コントロールが提供される場合があります。 次の図に示すように、UI はサムネイルのすぐ下にこのツール バーを表示します。このツール バーの一部は表示されません。
windows メディア プレーヤーのサムネイル タスク バー
このツール バーは、使い慣れた標準ツール バーの共通コントロールです。 最大 7 つのボタンがあります。 各ボタンの ID、画像、ヒント、および状態は構造で定義され、タスク バーに渡されます。 アプリケーションでは、現在の状態で必要に応じて、サムネイル ツール バーのボタンの表示、有効化、無効化、または非表示を切り替えることができます。
サムネイルを表示するスペースと表示するサムネイルの数が限られているため、アプリケーションでは特定のツール バー サイズが保証されません。 スペースが制限されている場合、ツールバーのボタンは右から左に切り捨てられます。 そのため、ツール バーを設計するときは、ボタンに関連付けられているコマンドに優先順位を付け、最も重要なものが先に来て、スペースの問題のために削除される可能性が最も低いようにする必要があります。
手記
アプリケーションにウィンドウが表示されると、タスク バー ボタンがシステムによって作成されます。 ボタンが配置されると、タスク バーは TaskbarButtonCreated メッセージをウィンドウに送信します。 その値は、RegisterWindowMessage(L("TaskbarButtonCreated")) を呼び出すことによって計算されます。 ITaskbarList3 メソッドを呼び出す前に、そのメッセージをアプリケーションで受信する必要があります。
API
- ITaskbarList3::ThumbBarAddButtons
- ITaskbarList3::ThumbBarSetImageList
- ITaskbarList3::ThumbBarUpdateButtons
- THUMBBUTTONをする
アイコン オーバーレイ
アプリケーションは、ボタンに小さなオーバーレイを表示することで、タスク バー ボタンを使用して特定の通知と状態をユーザーに伝えることができます。 これらのオーバーレイは、ショートカットやセキュリティ通知に使用される既存のオーバーレイの種類に似ています。ボタンの右下隅に表示されます。 オーバーレイ アイコンを表示するには、次のスクリーン ショットに示すように、タスク バーが既定の大きいアイコン モードである必要があります。
使用可能な状態する
アイコン オーバーレイは状態のコンテキスト通知として機能し、その情報をユーザーに伝える別の通知領域の状態アイコンの必要性を否定するためのものです。 たとえば、通知領域に現在表示されている Microsoft Outlook の新しいメールの状態は、タスク バー ボタンのオーバーレイで示すようになりました。 ここでも、開発サイクル中に、アプリケーションに最適な方法を決定する必要があります。 オーバーレイ アイコンは、ネットワークの状態、メッセンジャーの状態、新しいメールなどの重要な、長期的な状態または通知を提供することを目的としています。 ユーザーは、絶えず変化するオーバーレイやアニメーションを表示しないでください。
1 つのオーバーレイは、個々のウィンドウのサムネイルではなく、タスク バー ボタンにオーバーレイされるため、これはウィンドウ単位ではなくグループごとの機能です。 オーバーレイ アイコンの要求は、タスク バー グループ内の個々のウィンドウから受信できますが、キューに登録されません。 最後に受け取ったオーバーレイが表示されます。
API
進行状況バー
タスク バー ボタンを使用すると、進行状況バーを表示できます。 これにより、ウィンドウは、そのユーザーがウィンドウ自体に切り替えることなく、ユーザーに進行状況情報を提供できます。 ユーザーは、他のウィンドウで発生している 1 つ以上の操作の進行状況をひとめで確認しながら、別のアプリケーションで生産性を維持できます。 タスク バーボタンの進行状況バーには、ウィンドウ自体に詳細な進行状況インジケーターが反映されます。 この機能を使用すると、ファイルのコピー、ダウンロード、インストール、メディアの書き込み、または一定期間かかるすべての操作を追跡できます。 この機能は、Web ページの読み込みやドキュメントの印刷など、通常の周辺機器の操作では使用できません。 その種類の進行状況は、ウィンドウのステータス バーに引き続き表示されます。
タスク バー ボタンの進行状況バーは、使い慣れたプログレス バー コントロールと同様のエクスペリエンスです。 操作の完了した割合に基づいて確定した進行状況または不確定なマーキー スタイルの進行状況を表示して、残り時間の予測なしで操作が進行中であることを示すことができます。 また、操作が一時停止しているか、エラーが発生し、ユーザーの介入が必要であることを示すこともできます。
API
デスクバンド
Windows 7 より前のバージョンの Windows では、サムネイル ツール バー機能と同様の機能を、タスク バーでホストされているツールバーである deskband を使用して実現できます。 たとえば、Windows Media Player では、標準ボタンではなくトランスポート コントロールのセットとしてタスク バーに最小化できます。 Windows 7 では、デスクバンドは引き続き実装できます。サムネイル ツール バーはすべてを置き換えるものではありません。 すべてのアプリケーションがサムネイル ツール バーに適しているわけではありません。また、デスクバンドや宛先リストのタスクなどの別のソリューションが、アプリケーションに適した答えになる可能性があります。開発サイクルの一環として、アプリケーションに最適なソリューションを決定する必要があります。 ただし、デスクバンドは、トランスルーシー ("ガラス") が有効で、IDeskBand2インターフェイスWindows Aero をサポートする必要があることに注意してください。
API
通知領域
通知領域に変更が加えられたため、ユーザーはタスク バーに表示されるアイコンをより詳細に制御できます。 すべての通知アイコンが既定で非表示になり、その可視性をプログラムで制御することはできません。 タスク バーに表示される通知アイコンを選択できるのは、ユーザーだけです。 通知バルーンが表示されると、アイコンは一時的に表示されますが、ユーザーはそれらを無音にすることもできます。 そのため、タスク バー ボタンのアイコン オーバーレイは、アプリケーションがその情報をユーザーに伝える場合に魅力的な選択肢になります。
サムネイル
Windows Vista では、アプリケーションのタスク バー ボタンの上にカーソルを合わせると、実行中のウィンドウを表すサムネイルが表示されます。 タスク バーがアプリケーションのウィンドウを折りたたんだ場合、サムネイルはスタックとして表示されてこれを表しますが、サムネイル自体にはアクティブなウィンドウのみが表示されます。
Windows 7 では、グループの各メンバーは個別のサムネイルとして表示され、現在はスイッチ ターゲットでもあります。 アプリケーションでは、その子ウィンドウ (真の子ウィンドウ、個々のドキュメント、タブなど) を定義し、タスク バーに通常表示されない場合でも、各ウィンドウに対応するサムネイルを提供できます。 これにより、ユーザーはアプリケーションに切り替えて宛先に切り替えるのではなく、必要なアプリケーションのビューに直接切り替えることができます。 たとえば、複数ドキュメント インターフェイス (MDI)/タブ付きドキュメント インターフェイス (TDI) アプリケーションでは、グループのタスク バー ボタンの上にマウス ポインターを置いたときに、各ドキュメントまたはタブを個別のサムネイルとして表示し、ターゲットを切り替えることができます。
Windows Internet Explorerする
手記
Windows Vista と同様に、Aero はサムネイルを表示するためにアクティブである必要があります。
API
- ITaskbarList3::RegisterTab
- ITaskbarList3::SetTabActive
- ITaskbarList3::SetTabOrder
- ITaskbarList3::UnregisterTab
- ITaskbarList4::SetTabProperties
ウィンドウのサムネイル表現は通常は自動ですが、結果が最適でない場合は、サムネイルを明示的に指定できます。 既定では、最上位レベルのウィンドウにのみサムネイルが自動的に生成され、子ウィンドウのサムネイルは一般的な表現として表示されます。 これにより、エンド ユーザーにとって理想的ではない (混乱を招く) エクスペリエンスが生じる可能性があります。 たとえば、子ウィンドウごとに特定のスイッチ ターゲットサムネイルを使用すると、ユーザー エクスペリエンスが大幅に向上します。
API
- DwmSetWindowAttributeの
- DwmSetIconicThumbnailをする
- DwmSetIconicLivePreviewBitmapの
- DwmInvalidateIconicBitmapsをする
- WM_DWMSENDICONICTHUMBNAIL
- WM_DWMSENDICONICLIVEPREVIEWBITMAP
サムネイルとして使用するウィンドウの特定の領域を選択できます。 これは、アプリケーションがサムネイル サイズで表示したときに、ドキュメントまたはタブが類似して表示されることを認識している場合に役立ちます。 その後、アプリケーションは、ユーザーがサムネイルを区別するために使用できるクライアント領域の一部のみを表示することを選択できます。 ただし、サムネイルをポイントすると、その背後にある完全なウィンドウのビューが表示されるので、ユーザーはそれらを簡単に確認できます。
表示できる数を超えるサムネイルがある場合、プレビューは従来のサムネイルまたは標準アイコンに戻ります。
API
タスク バー にピン留め を項目のショートカット メニューに追加するには、通常、IsShortCut エントリを含むファイルの種類にのみ必要です。そのためには、適切なコンテキスト メニュー ハンドラーを登録します。 これは、スタート メニュー にピン留めにも適用されます。 詳細については、「シェル拡張ハンドラー の登録」を参照してください。
関連トピック
-
タスク バーの を する