0

このように、ソフトウェアのいくつかの新しい項目 (サブ項目を含む) をコンテキスト メニューに追加したい

そこで、レジストリを調べたところ、次のことがわかりました。

そして、ソフトウェア「Googleドライブ」は、コンテキストメニューにコマンドを追加するためにいくつかの所有者クラス(またはサービス)を作成したと思います。文字列{BB02B294-8425-42E5-983F-41A1FA970CD6}は、このサービス(またはクラス)のプレゼンテーションです)、Windows SendTo サービスと同様 (右クリック -> [送信])

しかし、それを行う方法は?

4

1 に答える 1

2

まず、最も重要なことは、コンテキスト メニュー ハンドラーなしでネストされたコンテキスト メニューを作成する方法がないことです。コンテキスト メニュー ハンドラーは、ユーザーのコンピューターに登録されたCOM サーバーにすぎません。COM サーバーは、ダイナミック リンク ライブラリの形式で存在します。よりよく説明するために、最初の画像から例を挙げてみましょう。Google ドライブという名前のメニュー エントリは COM サーバーであり、エントリフォルダへのコピー と フォルダへの移動は、レジストリ内の単純なショートカット エントリです。特定のコマンドでショートカット エントリを作成することは、比較的簡単。たとえば、メモ帳を起動
するためのショートカットをデスクトップ コンテキスト メニューに作成するには、レジストリ エディタで次のレジストリ キーを見つけます。[HKEY_CLASSES_ROOT\Directory\Background\shell]で新しいキーを作成し、Launch Notepadという名前を付け、デフォルト値でこれをExecute Notepadに追加します。Launch Notepad の下に新しいキーを作成し、commandという名前を付けて、これをデフォルトに追加します。これで、デスクトップを右クリックすると、Execute Notepad という名前の新しいエントリが表示されます。これクリックすると、メモ帳が開きます。簡単なショートカット エントリを作成する方法でした。ネストされているということは、メモ帳の実行エントリの下にエントリを追加できないことを意味します。

シェル拡張の作成を開始する方法を知りたい場合は、こちらをご覧ください。
これがお役に立てば幸いです。

于 2013-08-30T10:01:13.770 に答える