次の方法で共有


静的コンテキストメニュー項目の登録

Active DirectoryドメインサービスとWindowsシェルの管理MMCスナップインには、Active Directoryドメインサービスのオブジェクトに対して表示されるコンテキストメニューに項目を追加するためのメカニズムが用意されています。 コンテキスト メニューは、アプリケーションや Web ページの URL など、ShellExecute API で起動できる任意のファイルを呼び出すことができます。

Active Directoryドメインサービスへの登録

コンテキストメニュー拡張機能の登録は、1つのロケールに固有です。 コンテキストメニュー拡張機能がすべてのロケールに適用される場合は、表示指定子コンテナー内のすべてのロケールサブコンテナーのオブジェクトクラスdisplaySpecifierオブジェクトに登録する必要があります。 コンテキストメニュー拡張機能が特定のロケール用にローカライズされている場合は、そのロケールサブコンテナーのdisplaySpecifierオブジェクトに登録する必要があります。 Display Specifiersコンテナとロケールの詳細については、Display SpecifiersDisplaySpecifiers Containerを参照のこと。

静的コンテキストメニュー項目を登録できる表示指定子属性には、adminContextMenushellContextMenuの2つがあります。

adminContextMenu属性は、Active Directory Domain Servicesの管理スナップインに表示する管理コンテキストメニューを識別します。 コンテキストメニューは、ユーザーが管理MMCスナップインのいずれかで適切なクラスのオブジェクトのコンテキストメニューを表示するときに表示されます。

shellContextMenu 属性は、Windowsシェルに表示するエンドユーザーのコンテキストメニューを識別します。 コンテキストメニューは、ユーザーがエクスプローラーで適切なクラスのオブジェクトのコンテキストメニューを表示するときに表示されます。 Windows Server 2003以降では、WindowsシェルでActive Directory Domain Servicesのオブジェクトが表示されなくなりました。

これらの属性はすべて複数値です。

静的コンテキストメニュー項目を登録する場合、adminContextMenu属性とshellContextMenu属性の値には次の形式が必要です。

<order number>,<menu text>,<command>

<順序番号>は、コンテキストメニュー内の項目の位置を表す符号なしの番号です。 コンテキストメニューが表示されると、値は各値の<順序番号>の比較を使用して並べ替えられます。 複数の値が同じ<順序番号>を持つ場合、これらのコンテキストメニュー拡張機能はActive Directoryサーバーから読み取られた順序で読み込まれます。 可能であれば、存在しない<順序番号>、つまりプロパティ内の他の値で使用されていないものを使用します。 指定された開始位置はなく、<順序番号>シーケンスではギャップが許可されます。

<メニューテキスト>は、コンテキストメニューに表示される文字列です。 <メニューテキスト>は、メニュー項目のキーボードショートカット文字の前に「&」文字を1つ含むことができる。 これにより、前の文字に下線が引かれます。 例えば、<メニューテキスト>が& ファイル の場合、メニューテキストは "ファイル "と表示され、"F "には下線が引かれ、"F "はメニュー項目のキーボードショートカットになります。

<コマンド>はスナップインによって実行されるプログラムやファイルである。 完全なパスを指定するか、コンピューターのパス環境変数にファイルが存在している必要があります。 ファイルは、ShellExecute関数を使用して呼び出されます。 <コマンド>には、例えばNotepad.exe Myfile.txtのように、追加のパラメーターを含めることはできません。 ShellExecute が使用されているため、ShellExecuteに渡すことができる任意のファイルまたはアドレスを<コマンド>に使用できます。 たとえば、<コマンド>に"d:\file.txt"が含まれている場合、.txt拡張子に関連付けられているアプリケーションでd:\file.txtが開かれます。 同様に、<コマンド>にhttps://www.fabrikam.com"が含まれている場合、既定のwebブラウザーが開き、指定したwebページが表示されます。 スペースを含むパスとアプリケーション名を使用できます。 <コマンド>がアプリケーションの場合、選択したオブジェクトのADsPathとクラスは、スペースで区切られたコマンドライン引数として渡されます。

Windowsシェルでは、複数選択のコンテキストメニュー項目がサポートされています。 この場合、<コマンド>は選択されたオブジェクトごとに実行される。 Active Directoryドメインサービスの管理スナップインでは、複数選択の静的コンテキストメニュー項目はサポートされていません。

重要

Windowsシェルの場合、表示指定子データはユーザーのログオン時に取得され、ユーザーのセッション用にキャッシュされます。 管理スナップインの場合、表示指定子のデータはスナップインの読み込み時に取得され、プロセスの実行中はキャッシュされます。 Windowsシェルの場合、表示指定子への変更は、ユーザーがログオフして再度ログオンした後に有効になります。 管理スナップインの場合、変更はスナップインまたはコンソールファイルが再読み込みされたときに有効になります。つまり、コンソールファイルまたは新しいMmc.exeインスタンスの新しいインスタンスを開始し、スナップインを追加すると、最新の表示指定子データが取得されます。

 

詳細とコード例については、 静的コンテキストメニュー項目をインストールするためのコード例 を参照してください。