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

.exe ファイルとして実装されるコントロール パネル項目の場合、特別なエクスポートやメッセージ処理は必要ありません。 .exe ファイルはコマンド オブジェクトとして登録して、コントロール パネル フォルダー内のエントリ ポイントと共に表示できます。

登録要件を示すために、ここで例を使用します。 この例では、My Settings というコントロール パネル項目をコマンド オブジェクトとして登録し、コントロール パネル ウィンドウに表示する方法を示します。 [ 個人用設定] ウィンドウは、コマンド MyApp.exe /settings の実行時にも表示されます。

Instructions

手順 1:

コントロール パネル項目の GUID を生成します。 GUID は、コントロール パネル項目を一意に識別します。 この例では、 {0052D9FC-6764-4D29-A66F-2F3BD9E2BB40} はコントロール パネル項目の GUID です。

手順 2:

GUID を名前として使用して、次のようにレジストリにサブキーを追加します。

HKEY_LOCAL_MACHINE
   SOFTWARE
      Microsoft
         Windows
            CurrentVersion
               Explorer
                  ControlPanel
                     NameSpace
                        {0052D9FC-6764-4D29-A66F-2F3BD9E2BB40}
                           (Default) = My Settings

Default エントリのデータは、単にコントロール パネル項目のREG_SZ名です。 既定のエントリは、GUID エントリを識別するのに役立ちますが、省略可能です。

手順 3:

GUID を名前として使用し、次のようにサブキーとそのエントリをレジストリに追加します。

HKEY_CLASSES_ROOT
   CLSID
      {0052D9FC-6764-4D29-A66F-2F3BD9E2BB40}
         (Default) = My Settings
         LocalizedString = @%ProgramFiles%\MyCorp\MyApp.exe,-9
         InfoTip = @%ProgramFiles%\MyCorp\MyApp.exe,-5
         System.ApplicationName = MyCorporation.MySettings
         System.ControlPanel.Category = 1,8
         System.Software.TasksFileUrl = %ProgramFiles%\MyCorp\MyApp\MyTaskLinks.xml
  • Default。 Reg_sz。 コントロール パネル項目の表示名。

  • LocalizedString。 省略可能。 REG_SZまたはREG_EXPAND_SZ。 コントロール パネル項目のローカライズされた名前のモジュール名と文字列テーブル ID。 形式は、"at" 記号 (@) の後に、多言語ユーザー インターフェイス (MUI) 文字列テーブルを含む.exeまたは.dllの名前が続きます。 環境変数は、パスの一部の代わりに使用できます。 パスとファイル名の後にコンマ (,) とハイフン (-) が続き、文字列テーブルの ID が続きます。

    モジュールに文字列テーブルがない場合、このエントリは単に表示名文字列にすることができます。 文字列テーブルではなく表示名文字列のみを使用する場合、名前は現在の表示言語に合わせて調整されません。

  • ヒント。 REG_SZまたはREG_EXPAND_SZ。 コントロール パネル項目の説明。 この情報は、項目のアイコンの上にマウス ポインターを置いたときに表示されるヒントに表示されます。 構文は LocalizedString に使用したものと同じです。これには、文字列テーブル参照ではなく文字列を指定するオプションも含まれます。

  • System.ApplicationName。 Reg_sz。 アイテムの正規名。 フォーム control.exe /name System.ApplicationName の コマンドを実行すると、アイテムが開きます (例: control.exe /name MyCorporation.MySettings)。 Control.exeの使用方法の詳細については、「コントロール パネル項目の実行」を参照してください。

  • System.ControlPanel.Category。 Reg_sz。 アイテムが表示されるコントロール パネルカテゴリを宣言する 値。 複数のカテゴリはコンマで区切られます。 上記の例の場合、エントリは [個人用設定] 項目が [外観] カテゴリと [個人用 設定] カテゴリと [ プログラム ] カテゴリの両方に表示されるように指定します。 可能なカテゴリ値については、「コントロール パネルカテゴリの割り当て」を参照してください。

  • System.Software.TasksFileUrl。 REG_SZまたはREG_EXPAND_SZ。 タスク リンクを定義する XML ファイルのパス。 この例に示すように、直接ファイル パス、またはモジュール名とリソース ID として指定された埋め込みリソース ("%ProgramFiles%\MyCorp\MyApp\MyApp.exe,-31" など) を指定できます。

手順 4:

同じ GUID サブキーの下に、次のサブキーをレジストリに追加して、アイコンを含むファイルのパスと、そのファイル内のイメージのリソース ID を指定します。

HKEY_CLASSES_ROOT
   CLSID
      {0052D9FC-6764-4D29-A66F-2F3BD9E2BB40}
         DefaultIcon
            (Default) = %ProgramFiles%\MyCorp\MyApp.exe,-2

構文は先ほど説明した LocalizedString および InfoTip エントリに似ていますが、パスを指定する REG_SZ または REG_EXPAND_SZ エントリのプレフィックスとして '@' 文字は使用されません。

手順 5:

次の情報をレジストリに追加して、ユーザーがコントロール パネルを開いたときにシステムによって呼び出されるコマンドを提供します。

HKEY_CLASSES_ROOT
   CLSID
      {0052D9FC-6764-4D29-A66F-2F3BD9E2BB40}
         Shell
            Open
               Command
                  (Default) = [REG_EXPAND_SZ] %ProgramFiles%\MyCorp\MyApp.exe /Settings

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

DLL コントロール パネル 項目を登録する方法