コンテキストメニューの項目の順序を変更するにはどうすればいいですか(たとえば、ディレクトリの場合)Windowsはその表示時にどのように順序を決定して制御できるかを知る必要があります。たとえば、コンテキストメニューリストの最後にカスタムアクションを配置したい場合Windowsエクスプローラのコンテキストメニューで注文する
ありがとうございます!
コンテキストメニューの項目の順序を変更するにはどうすればいいですか(たとえば、ディレクトリの場合)Windowsはその表示時にどのように順序を決定して制御できるかを知る必要があります。たとえば、コンテキストメニューリストの最後にカスタムアクションを配置したい場合Windowsエクスプローラのコンテキストメニューで注文する
ありがとうございます!
私のGoogleの-FUはthisに私を導いた:
ので、ソートが決定順に次の要素に基づいています。
- キーの優先度(例えば、txtfile、*、AFSO)
- レジストリshellex \ contextmenuhandlersの列挙順序静的動詞が常に最初になる特別な場合
- IContextMenu実装順序
位置に関する競合がある場合、拡張機能がメニュー内の相対位置を保証する一貫した方法はありません。
フェーズ1については何もできません。フェーズ3は、ハンドラに実装されている動詞にのみ適用されます。それはフェーズ2になります。あなたが行うことができる唯一のことは、最初に列挙されるようにContextMenuHandlersの下にエントリの名前を付けることです。
This Q&Aは、コンテキストメニュー内のアイテムを簡単に作成(移動しない)する方法を示しています。私は既存のアイテムを複製することができました。次に、コンテキストメニュー内で、「aMyItem」または「0MyItem」で始まるようにキーの名前を変更して、アイテムをよりアクセスしやすくしてよりアクセスしやすくしました。これは私のためにそれをやった
これは、Windows 7の新しいバージョンの多分同じである設定。それは他の答えに触発され、すべてが注文に影響しています。
「*」(すべてのファイル)のエントリについて説明していますが、特殊な拡張子についても同じことが言えます。
私はレジストリで行われた変更について一切責任を負いません!位置がanswer by @Lukeのルールによって決定され、これらのセクション内
2 - Default menu position (at the top).
1 - Send to, copy to folder and move to folder menu part (in the middle).
0 - Rename menu part (at the bottom).
:それはHow to Change the Order of Options in Context Menu
(answer by @Anonymouseから)彼らはそれらを呼び出すに言うよう
は、コンテキストメニューの三つのセクションがあります
「セクション」内の順序を変更する最も簡単な方法は、HKCR-*-shell
またはHKCR-*-shellex
のレジストリキーの名前を変更することです。サブキーshell
のすべてがshellex
の下にあります。キー名としてCLSID
を持つキーは、最後に使用された順序で最後のエントリになります。
例として、私はsample from MSDN to build a Context Menu Handlerに従っていました。これは、shellex
のキーの名前としてCLSID
を使用し、デフォルト値として「フレンドリ名」を使用しています。それは "セクション" 2の最下部に置かれました。キー名をAsample
のように変更し、デフォルト値をCLSID
に変更しました。今度はshell
のエントリの直後です。
注文を変更する方法がいくつかあります。
shell
のキーの場合は、文字列データTop
またはBottom
を使用して値Position
を追加できます。どの "セクション"で決定することはできません。
shellex
のキーの場合、値Position
は無効です。代わりに、エントリがどのような "セクション"でflags
,described in the linkを使用するかを決定することが可能です。
- 移動したいshellextため
CLSID
を使用してください。それは
{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}
のようです。キー名またはデフォルト値のいずれかから取得します。これは、入力の仕方によって異なります。- HKCR-CLSIDのエントリを検索すると、キーの名前は
CLSID
になります。- 名前
flags
とデータDWORD
の値を、前述の「セクション」番号が見つかったCLSID
に追加します。
@Christoph Grimmer-Dietrichとは何ですか?あなたはGoogleで答えを見つけましたか?さて、私にリンクをください。 – ixSci
このおかげで申し訳ありません。私は2番目のリンク(http://windowsxp.mvps.org/context_folders.htm)があなたを助けてくれます。 –