web-dev-qa-db-ja.com

Windows7のコンテキストメニューエクストラを永続的に再表示

Windows 7では、Shiftキーを押しながらWindowsエクスプローラーを右クリックすると、「パスとしてコピー "、" ここでコマンドウィンドウを開く "などの追加項目が表示されます。 "Send to"オプションは、クリックしたアイテムに応じて、コンテキストメニューに追加されます。

Shiftキーを押さなくても、これらの追加機能を永続的に持つ方法はありますか?

追加のシェル拡張機能をインストールせずに実行できることを願っています(以下を参照)–レジストリハックなどについてもっと考えてください…

更新:

"ここでコマンドウィンドウを開く"で解決しましたが、まだ "パスとしてコピー"では解決していません!


私のXPシステムでは、以前は SmartStartMen に付属のシェル拡張機能のみをインストールしていたため、これまでになく便利な 'コピーパス名 '、' 短いパス名をコピー '、' コマンドライン引数で実行 'および' DOSボックスで開く 'メニュー項目、なし Shiftまたはその他の「修飾キー」を押し続ける必要があります。

16
mousio

これはあなたが探しているもののようです: http://www.techspot.com/guides/210-edit-windows-extended-context-menu/

これには、インストールを必要とせず、「Windows98からWindows7x64までのすべて」と互換性のある小さなソフトウェアユーティリティ「ShellMenuView」の使用が含まれます。ユーティリティをダウンロードできます ここ2ビット | 64ビット )。

5
RobinJ

シフトメニューを完全に無効にしようとしたことはありませんが、メインコンテキストメニューとシフトされていないメニューを制御する方法を知っている場合は、メインコンテキストメニューを整理するのに非常に便利なツールなので、お勧めしません。これは非常に簡単なことですが、最初にいくつかの基本事項を示します。

個々のファイルまたは選択された最大15個のファイルを処理するすべてのコンテキストメニュー項目は、次の場所にあります。

HKEY_CLASSES_ROOT\*\Shell

フォルダ関連のアクションは、背景を右クリックしたときに使用できるアクションと、フォルダを右クリックしたときに使用できるアクションの2つのカテゴリに分類されます。そしてそれらはここで見つけることができます:

HKEY_CLASSES_ROOT\Directory\Background\Shell
HKEY_CLASSES_ROOT\Directory\Shell

ドライブには、ここに独自のキーがあります。

HKEY_CLASSES_ROOT\Drive\Shell

コンテキストメニューコマンドの構造は次のとおりです。

HKEY_CLASSES_ROOT\(*,Directory or Drive)\Shell\(Command's Main Key)
HKEY_CLASSES_ROOT\(*,Directory or Drive)\Shell\(Command's Main Key)\command <=this will store the executed command when when the context menu item related to this key is selected 

コンテキストメニューのコマンドエントリは、メインキーの下にMUIverbという文字列値を作成して別の方法で指定しない限り、メインキーと同じ名前になります。例えば。 MUIverbという文字列値を作成し、その値を新しい名前( "MUIverb" = "New Name")として設定できます。

メインキーの下にExtendedという文字列値がある場合に拡張シフトに配置されるコマンド。メインのシェルコンテキストメニューに表示する場合は、「拡張」文字列値エントリを削除します。拡張メニューに何かを転送したい場合は、メインキーに「拡張」を入力するだけです。同じキーに別の文字列値を入力して、メニューエントリのアイコンを指定することもできます。例: "Icon" = "C:\ Windows\system32\Shell32.dll、133"または "Icon" = "C:\ Pictures\Icons\SomeRandomIcon.ico"。

残念ながら、Microsoftは一貫性がありません。あなたは私がリストした場所であなたが探しているすべてを見つけるつもりはありません。多くのものがshellexにあり(たとえばパスとしてコピー)、私があなたに話したものとは異なるルールの下で動作します。

パスとしてコピーする場合は、コンテキストメニューから削除して、自分で作成しました。便宜上、ここに添付します。メモ帳を開き、ここに置いた各regファイルの内容をコピーします。それらを右クリックして、マージを選択します。

パスとしてコピー-ShiftMenu.regからMSVanillaバージョンを削除

Windows Registry Editor Version 5.00

[-HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers\CopyAsPathMenu]

通常のmenu.regでパスイネーブルとしてコピー

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\Shell\Copy as Path]
"Icon"="C:\\Windows\\system32\\Shell32.dll,133"
[HKEY_CLASSES_ROOT\*\Shell\Copy as Path\command]
@="cmd.exe /c echo %1|clip"

[HKEY_CLASSES_ROOT\Directory\Shell\Copy as Path]
"Icon"="C:\\Windows\\system32\\Shell32.dll,133"
[HKEY_CLASSES_ROOT\Directory\Shell\Copy as Path\command]
@="cmd.exe /c echo %1|clip"

[HKEY_CLASSES_ROOT\Directory\Background\Shell\Copy as Path]
"Icon"="C:\\Windows\\system32\\Shell32.dll,133"
[HKEY_CLASSES_ROOT\Directory\Background\Shell\Copy as Path\command]
@="cmd.exe /c echo %V|clip"

シフトmenu.regでパスイネーブルとしてコピー-引用符付き-

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\Shell\Copy as Path (With Quotes)]
"Extended"=""
"Icon"="C:\\Windows\\system32\\Shell32.dll,133"
[HKEY_CLASSES_ROOT\*\Shell\Copy as Path (With Quotes)\command]
@="cmd.exe /c echo \"%1\"|clip"

[HKEY_CLASSES_ROOT\Directory\Shell\Copy as Path (With Quotes)]
"Extended"=""
"Icon"="C:\\Windows\\system32\\Shell32.dll,133"
[HKEY_CLASSES_ROOT\Directory\Shell\Copy as Path (With Quotes)\command]
@="cmd.exe /c echo \"%1\"|clip"

[HKEY_CLASSES_ROOT\Directory\Background\Shell\Copy as Path (With Quotes)]
"Extended"=""
"Icon"="C:\\Windows\\system32\\Shell32.dll,133"
[HKEY_CLASSES_ROOT\Directory\Background\Shell\Copy as Path (With Quotes)\command]
@="cmd.exe /c echo \"%V\"|clip"

これで、RegEdit.exeでレジストリをいじることができますが、これは非常に制限されたツールです。 .regファイルを作成し、必要に応じてマージすることをお勧めします。これにより、Windowsの新規インストールを行うときに、変更を簡単に再適用することもできます。個々のキーを.regファイルとしてエクスポートすることにより、RegEditで行った変更をエクスポートすることもできます。

5
thebunnyrules

残念ながら、これはCopyAsPathMenu(GUID{f3d06e7c-1e45-4a26-847e-f9fcdee59be0})シェルでは実際には実行できません。 Windows 7に付属する「拡張機能」。 QueryContextMenu メソッドには、CMF_EXTENDEDVERBSフラグのチェックを条件とするすべての便利な機能が含まれているためです。

理論的には、Shell32.dll!?QueryContextMenu@CCopyAsPathMenu@@UAGJPAUHMENU__@@IIII@Zを分解することでこれを確認できますが、私が使用している月の言語の種類がわからない場合は、学習する前に多くのことを学ぶ必要があります。その一部might Debugging Tools for Windowsヘルプファイル(debugger.chm)にあります。

2
SamB

コンテキストメニューにコピーパス機能を提供するツールがいくつかあります

例えば

0
phuclv