DLL コントロール パネル アイテムを登録する方法

注意

現在の実装ガイドラインでは、新しいコントロール パネル項目は、.cpl ファイルではなく.exe ファイルとして実装する必要があることを示しています。 次の情報は、主にレガシの目的で含まれています。

 

CPlApplet 関数をエクスポートする DLL に実装されているコントロール パネル項目には、.exe ファイルとは異なる登録要件があります。 Windows XP の時点で、新しいコントロール パネル項目 DLL は、関連付けられているアプリケーションのフォルダーの Program Files フォルダーにインストールする必要があります。 .cpl拡張機能を使用して System32 ディレクトリに格納されている項目を登録する必要はありません。これらは、コントロール パネルに自動的に表示されます。 CPlApplet を使用する他のすべてのコントロール パネル項目は、次の 2 つの方法のいずれかで登録する必要があります。

  • コントロール パネル項目をすべてのユーザーが使用できるようにする場合は、HKEY_LOCAL_MACHINESoftware\Microsoft\Windows\CurrentVersion\コントロール パネル\Cpls サブキーに REG_EXPAND_SZ 値を\追加して、パスをコンピューターごとに登録し、DLL パスに設定します。
  • コントロール パネル項目をユーザーごとに使用できるようにする場合は、HKEY_LOCAL_MACHINEではなくルート キーとしてHKEY_CURRENT_USERを使用します。

次の 2 つの例では、MyCplApp コントロール パネル項目を登録します。 DLL はMyCpl.cplという名前で、 MyCorp\MyApp アプリケーション ディレクトリにあります。 この最初の例は、コンピューターごとの登録を示しています。

Instructions

手順 1:

この情報をレジストリに追加して、.cpl ファイルの存在を登録します。

HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows
            CurrentVersion
               Control Panel
                  Cpls
                     MyCpl = [REG_EXPAND_SZ] %ProgramFiles%\MyCorp\MyApp\MyCpl.cpl

手順 2:

Windows Vista 以降:この追加情報をレジストリに追加して、コントロール パネル項目の GUID を指定します。

HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows
            CurrentVersion
               Control Panel
                  Extended Properties
                     System.Software.AppId
                        %ProgramFiles%\MyCorp\MyApp\MyCpl.cpl = {A newly generated GUID}

コントロール パネル項目を一意に識別する GUID を生成することで、タスク リンクをコントロール パネルに追加できます。 この GUID がないと、タスク リンクをコントロール パネル項目に関連付ける方法はありません。 「コントロール パネルアイテムの検索可能なタスク リンクの作成」を参照してください

手順 3:

Windows Vista 以降: 次の情報をレジストリに追加して、項目の正規名を作成します。

HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows
            CurrentVersion
               Control Panel
                  Extended Properties
                     System.ApplicationName
                        %ProgramFiles%\MyCorp\MyApp\MyCpl.cpl = [REG_SZ] MyCorporation.MyCpl

正規名を追加すると、 と入力してコマンド ラインからコントロール パネル項目をcontrol.exe /name MyCorporation.MyCpl起動できます。 これにより、標準名を使用してアイテムを開き続けることができるため、プログラムを呼び出して変更を加えることなく、後で実装を.cpl ファイルから.exe ファイルに変更することもできます。 正規名の詳細については、「コントロール パネル項目の実行」を参照してください。

手順 4:

Windows Vista 以降:次の情報をレジストリに追加して、コントロール パネル項目を 1 つ以上のカテゴリに割り当てます。

HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows
            CurrentVersion
               Control Panel
                  Extended Properties
                     System.ControlPanel.Category
                        %ProgramFiles%\MyCorp\MyApp\MyCpl.cpl = [REG_DWORD] 3

Windows XP:次の情報をレジストリに追加して、コントロール パネル項目を 1 つ以上のカテゴリに割り当てます。

HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows
            CurrentVersion
               Control Panel
                  Extended Properties
                     {305CA226-D286-468e-B848-2B2E8E697B74} 2
                        %ProgramFiles%\MyCorp\MyApp\MyCpl.cpl = [REG_DWORD] 3

次の使用例は、項目をカテゴリ 3 (ネットワークとインターネット) に割り当てます。 複数のカテゴリに項目を追加するには、リストをコンマで区切ったREG_SZ値 ("3,8" など) として指定します。 値は、10 進数または 16 進数で指定できます。 複数のカテゴリに項目を追加する機能は、Windows XP Service Pack 2 (SP2) 以降でのみ可能です。 使用可能なすべての値については、「コントロール パネルカテゴリの割り当て」を参照してください。

手順 5:

Windows Vista 以降: 次の情報をレジストリに追加して作成し、アイテムのタスク リンクを保持する XML ファイルをポイントします。 この値は、ここに示すようにREG_SZ パスであるか、モジュールとリソース ID ("C:\Program Files\MyCorp\MyApp\MyApp.exe,-31" など) である必要があります (埋め込みリソースの場合)。 XML ファイルの場所を完全に指定する必要があります。 %ProgramFiles% などの環境変数は使用できません。

HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows
            CurrentVersion
               Control Panel
                  Extended Properties
                     System.Software.TasksFileUrl
                        %ProgramFiles%\MyCorp\MyApp\MyCpl.cpl = [REG_SZ] C:\ProgramFiles\MyCorp\MyApp\MyTasks.xml

タスク リンクの詳細と、それらを保持する XML ファイルの作成方法については、「コントロール パネル アイテムの検索可能なタスク リンクの作成」を参照してください。

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

実行可能なコントロール パネル項目を登録する方法