コントロール パネル項目の検索可能なタスク リンクの作成

Windows Vista の時点で、コントロール パネル カテゴリ ビューには、次に示すように、各コントロール パネル項目のアイコンの下にタスク リンクが表示されます。

システムおよびメンテナンス カテゴリ ページのタスク リンク

ユーザーがウィンドウの右上にある [検索 ] ボックスにテキストを入力すると、次に示すように、"display" という単語の検索に関するこれらのタスク リンクが検索結果に含まれます。

コントロール パネルの検索結果のタスク リンク

このトピックでは、以下の項目について説明します。

機能を検索するユーザーの補助として、コントロール パネル項目のタスク リンクを指定することをお勧めします。 また、タスクのタイトルや用語を知らなくてもユーザーが見つけられるように、タスク リンクにキーワードを追加することもできます。

最適なタスク リンクは、次の 3 つの目的に役立ちます。

  1. コントロール パネル項目の機能へのショートカットを指定します。
  2. ユーザーが自分の言語を使用して検索できるように、キーワードを指定します。 ユーザーは技術的な用語を知っているので、「圧縮」と入力できます。 ユーザーが「DB が大きすぎる」または「データベース ファイルサイズ」と入力する場合があります。 タスクに適切なキーワードを追加すると、ユーザーはコントロール パネル項目を見つけることができます。
  3. コントロール パネル項目の動作に関するヒントを提供します。 ユーザーは、コントロール パネル項目のアイコンの下にリンクを表示すると、名前とアイコンだけで指定できるよりも、コントロール パネル項目の使用方法に関する詳細情報を取得できます。

タスク リンクは、テクノロジや機能に焦点を当てたものではなく、エンドユーザーに焦点を当てる必要があります。 たとえば、"データベース圧縮を有効にする" は、ほとんどのユーザーになじみのない技術的な専門用語であるため、不適切な表現になります。 "データベース ファイルを小さくする" の方が、そこに到達するためのメカニズムではなく、ユーザーの実際の最終目標に言及しているためです。 目標は、過度に単純化するのではなく、ユーザーが達成したい内容の観点からタスクを表現することです。

タスク XML ファイルの作成

タスク リンクは XML ファイルで定義されます。 このセクションでは、メモ帳と呼ばれるコントロール パネル項目の 3 つのタスク リンクを定義するサンプル .xml ファイルの詳細について説明します。 タスク リンクのタイトル、キーワード、およびコマンド ラインを定義します。 また、どのタスク リンクがどのカテゴリに表示されるかを指定する方法についても説明します。 複数のカテゴリに表示するように登録されているコントロール パネルアイテムには、カテゴリに応じて異なるリンクを表示するオプションがあります。 提供されるさまざまな要素と情報の説明は、XML 自体のコメントとして提供されます。

<?xml version="1.0" ?>
<applications xmlns="http://schemas.microsoft.com/windows/cpltasks/v1" 
              xmlns:sh="http://schemas.microsoft.com/windows/tasks/v1">
    
    <!-- Notepad -->
    <application id="{0052D9FC-6764-4D29-A66F-2F3BD9E2BB40}"> 
    <!-- This GUID must match the GUID you created for your Control Panel item,
         and registered in namespace -->
    
        <!-- Solitaire -->
        <sh:task id="{3B75A7AE-C4E4-4E5A-9420-7CECCDA75425}"> 
            <!-- This is a generated GUID, specific to this task link -->
            <sh:name>Play solitaire</sh:name>
            <sh:keywords>solitare;game;cards;ace;diamond;heart;club;single</sh:keywords>
            <sh:command>%ProgramFiles%\Microsoft Games\Solitaire\solitaire.exe</sh:command>
        </sh:task>

        <!-- Task Manager -->
        <sh:task id="{BF46D6AA-B5E6-4EE1-9E5B-ED017272B9F9}" needsElevation="true"> 
            <!-- This is a generated GUID, specific to this task link -->
            <!-- The needsElevation="true" attribute means that the task 
                 appears with a shield icon next to it. Adding this attribute 
                 does not cause the .exe to require elevation - it just adds an 
                 icon to tell users that the command already requires it -->
            <sh:name>See running processes</sh:name>
            <sh:keywords>taskmgr;taskman;running processes;threads;cpu;</sh:keywords>
            <sh:command>taskmgr.exe</sh:command>
        </sh:task>

        <!-- IE -->
        <sh:task id="{DE3A6DCC-C18A-4BBF-9227-11856D7B4422}">
            <sh:name>Open Internet Explorer</sh:name>
            <sh:keywords>IE;web;browser;net;Internet;ActiveX;plug-in;plugin</sh:keywords>
            <sh:command>iexplore.exe</sh:command>
        </sh:task>
        
        <!-- Category assignments -->

        <!-- Appearance and Personalization -->
        <category id="1"> 
        <!-- These idref attributes refer to the GUIDs of the tasks defined above. A maximum of five tasks are shown per category. -->
            <sh:task idref="{3B75A7AE-C4E4-4E5A-9420-7CECCDA75425}"/>   
            <sh:task idref="{BF46D6AA-B5E6-4EE1-9E5B-ED017272B9F9}"/>
            <sh:task idref="{DE3A6DCC-C18A-4BBF-9227-11856D7B4422}"/>
        </category>
        
        <!-- Programs -->
        <category id="8"> 
            <sh:task idref="{3B75A7AE-C4E4-4E5A-9420-7CECCDA75425}">
                <sh:name>Click here to play</sh:name>
                <!-- This overrides the defined text. When the Notepad Control 
                     Panel item appears in the Programs category, it uses the 
                     "Click here to play" text for this Solitaire link, instead 
                     of "Play solitaire". -->
            </sh:task>
            <sh:task idref="{BF46D6AA-B5E6-4EE1-9E5B-ED017272B9F9}"/>
            <sh:task idref="{DE3A6DCC-C18A-4BBF-9227-11856D7B4422}"/>
       </category>
   </application>
</applications>

注意

Windows 7 の時点で、コントロール パネル項目は実行可能ファイル名ではなく正規名<で識別できます。sh:controlpanel> 要素は sh:command> の<代わりに使用できます。 sh:controlpanel> 要素には<、開く項目のページを指定する属性も用意されています。 sh:controlpanel> 要素の例を<次に示します。

 

<sh:controlpanel name="Microsoft.Presentation" page="pageWallpaper"/>

タスク リンクのタイトルとキーワードのテキストは、コントロール パネル項目のモジュールの文字列テーブルに格納できます。 その場合、XML ファイルで使用される形式は次のようになります。

<sh:task id="{3B75A7AE-C4E4-4E5A-9420-7CECCDA75425}"> 
    <!-- This is a generated GUID, specific to this task link -->
    <sh:name>@myTextResources.dll,-100</sh:name>
    <sh:keywords>@myTextResources.dll,-101</sh:keywords>
    <sh:command>%ProgramFiles%\Microsoft Games\Solitaire\solitaire.exe</sh:command>
</sh:task>

この例では、タスクの名前のテキストがmyTextResources.dllの文字列リソース ID 100 に表示され、キーワードのテキストは文字列リソース ID 101 に表示されます。

キーワードと検索

コントロール パネル検索では、名前とキーワードに基づいてタスク リンクが検索されます。 検索内の各単語と、名前とキーワードの単語のプレフィックスが一致します。 たとえば、クエリ文字列 "cpu" は、前の例のタスク "実行中のプロセスを確認する" と一致します。これは、"cpu" がキーワード (keyword)リストに含まれているためです。 クエリ文字列 "pro" は、タイトルワード "processes" がその文字列で始まるため、その結果も見つかります。 クエリはプレフィックスにのみ一致します。 クエリ文字列 "rocess" は結果と一致しません。その文字列は、タイトルワード "process" の一部ではその単語を開始しないためです。

検索クエリに複数のトークンが含まれている場合、すべてのトークンは、結果のキーワード (keyword)またはタスク タイトルの一部のプレフィックスと一致する必要があります。 "level" がキーワード (keyword) セット内にないため、クエリ "cpu level" は一致しません。 "cpu" はキーワード (keyword)に一致し、"run" はタスクのタイトルの "running" という単語のプレフィックスであるため、クエリ "cpu run" は結果を出します。

コントロール パネルでは、スペル修正や複数形やハイフネーションなどのバリエーションは自動的に提供されません。 一致も大文字と小文字は区別されません。 キーワード (keyword) リストを確実に成功させるには、スクリーン セーバーを含むこのタスク リンクなどのバリエーションを自分で指定することをお勧めします。"スクリーン セーバー;スクリーン セーバー;スクリーン セーバー;"

単数形の "スクリーンセーバー" を追加する必要はありません。これは、"スクリーンセーバー" を検索するクエリでも、プレフィックスの一致により "スクリーンセーバー" が見つかるためです。 "screena" のように単語の一部を入力したユーザーには、"スクリーン セーバー" がキーワード (keyword)として含まれるタスク リンクに一致が表示されます。 複数形が単語を変更する言語の場合は、ユーザーがキーワードに入力することが合理的に期待できるすべてのフォームを配置する必要があります。

慣例として、Microsoft はキーワードのセットから "how do I" や "I want to" などの小さな単語を省略しています。 ほとんどのユーザーは、結果を得るために、"マウス"、"ハイ コントラスト"、"ビデオ ドライバー" などの最も重要な単語を入力するだけで期待されます。

コントロール パネル項目

ユーザー エクスペリエンスのガイドライン

コントロール パネル項目の登録

CPLApplet の使用

メッセージ処理のコントロール パネル

コントロール パネル項目の実行

システム コントロール パネル項目の拡張

コントロール パネルカテゴリの割り当て

Windows Vista のセーフ モードでコントロール パネルにアクセスする