web-dev-qa-db-ja.com

新しいコンテキストメニューに項目を追加する方法を教えてください。

どこを右クリックしても、指定された拡張子を持つ新しいファイルを追加するオプションが表示されます。このメニューにカスタムファイルをいくつか追加したいので、右クリックして、たとえば新しいPHPファイルを作成できます。

これどうやってするの?

116
James

選択した拡張子をリストに追加するには、ファイルを作成し、以下の内容を追加し、whatever.regとして保存して実行します。

:.pngを追加したいファイル拡張子に置き換え、任意のものに置き換えます。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.png\ShellNew]
"NullFile"=""

出典

63
th3dude

もう一つ:

新しいアイテムのテンプレートとしてファイルを追加する場合は、を使用します。

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.html\ShellNew]
"FileName"="html.html"

次に、ファイル(html.html)を次の場所に置きます。

  • あなた自身のプロフィール:%Userprofile%\Templates
  • すべてのユーザーの場合:%Allusersprofile%\Templates
  • システム全体では%Systemroot%\ShellNew

もう1つの詳細:"Windows Live Call"エントリを削除する場合は、次のようにします。

[-HKEY_CLASSES_ROOT\.wlcshrtctv2\LiveCall\ShellNew]
65
Eduardo Molteni

ShellNewHandlerによって、Windows 7の[シェル]メニュー> [新規]> [txt]のドキュメントエントリを復元できました。

enter image description here

  1. チェックを外します。txt
  2. 適用をクリック
  3. チェック。txt
  4. 適用をクリック
19
Eric

レジストリエディタに入り、HKEY_CLASSES_ROOTを展開します。

.file_extentionに移動します

shellNewというキーを作成します。

その中に、NullFileという新しい文字列キーを値なしで作成します。

たとえば、空白の.wilオブジェクトの新しいエントリを作成したい場合は、次のように作成します。

[HKEY_CLASSES_ROOT\.wil\ShellNew]
NullFile = ""

* .wilなどのファイル拡張子が存在しない場合は、まずその拡張子を持つファイルを作成してダブルクリックします。これが他の必要なレジストリキーを作成し、あなたの仕事をより簡単にするので私の選択のプログラムでそれを開きなさい。

18
William Hilsum

リストからエントリを削除するために、 これはGUIからエントリを有効/無効にすることができるプログラム です。レジストリを検索するよりもはるかに簡単です。

残念ながら、エントリを追加することはできません。

5
Blorgbeard

Windows 10では、これらの方法はどれも私にとっては役に立ちませんでした。

このページ が、名前とデフォルトアイコンを含むanother keyを参照する必要があることを説明しました。

これはエントリを作成するのに最低限必要なものですが、アイコンはありません。

注:3番目のエントリは、テキストファイルのデフォルトキー値で参照されるテキストファイル用です。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.txt]
@="textfile"

[HKEY_CLASSES_ROOT\.txt\ShellNew]
"NullFile"=""

[HKEY_CLASSES_ROOT\textfile]
@="Text Document"

アイコンを指定する方法は2つあります。

  1. コンテンツタイプにデフォルトのアイコンを使用するようにエクスプローラに指示します。
[HKEY_CLASSES_ROOT\.txt] 
@="textfile" 
"Content Type"="text/plain"
"PerceivedType"="text"

または2.textfileの下にアイコンを指定します。

[HKEY_CLASSES_ROOT\textfile\DefaultIcon]
@="%SystemRoot%\\system32\\imageres.dll,-102"

ああ、少なくとも私にとっては、(すべてのインスタンスを閉じていることを確認してください)エクスプローラを閉じて再度開くだけで、コンテキストメニューを再読み込みできます。マシン全体を再起動する必要はありません。

5
subman

どのバージョンのWindowsを使用しているかはわかりませんでした。XPの場合、Microsoftから TweakUI PowerToy をダウンロードできます。 ( ウィキペディア でもカバーされています)。テンプレートをクリックして、あなたの心のコンテンツにファイルタイプを追加/削除してください。これは次のようなものです。 enter image description here

4
User5910

ここの他の解決策は時代遅れのようです。 Windows 10 v。1709 Build 16299.192(編集:バージョン1809でも動作します)では、少なくともこれらのどれも私には機能しませんでした。私はVMでいくつかテストをしました、そしてこれは2018.01.12のように、Windows 10 1709で動くものです:

レジストリファイルを追加します。

次の内容で新しいレジストリファイルファイルを作成します。

Windows Registry Editor Version 5.00

; new file type
[HKEY_CLASSES_ROOT\.xyz]
@="xyz"

; template
[HKEY_CLASSES_ROOT\.xyz\ShellNew]
"FileName"=""

; file type name
[HKEY_CLASSES_ROOT\xyz]
@="XYZ test file"

xyzを追加したい拡張子に置き換えます。そしてXYZ test fileをファイル拡張子の名前に置き換えてください(例えば、.scssファイルは「構文的に素晴らしいスタイルシートファイル」でしょう)。テンプレートファイルを使用したい場合は、以下の説明を参照してください。

レジストリファイルを追加した後でWindowsエクスプローラを再起動する必要があるかもしれません。 CMDに次のように入力してExplorer.exeを再起動できます。

taskkill /f /im Explorer.exe & start Explorer.exe

enter image description here

enter image description here


コードの説明:

[HKEY_CLASSES_ROOT\.xyz]
@="xyz"

レジストリに新しいファイルタイプを作成します。

[HKEY_CLASSES_ROOT\.xyz\ShellNew]
"FileName"=""

これにより、このファイル形式のすべての新しいファイルにテンプレートを使用できます。例えば"template.xyz"を書いて「template.xyz」という新しいファイルを作り、それをテンプレートとして使うことができます。そのため、新しいファイルを作成するたびに、事前に作成されたコンテンツが読み込まれます。 Eduardo Molteni が述べたように、テンプレートファイルのパスは%Userprofile%\Templates%Allusersprofile%\Templates、またはシステム全体の%Systemroot%\ShellNewです。この例では、テンプレート名を指定していません。テンプレート名は使用したくないためです。

[HKEY_CLASSES_ROOT\xyz]
@="XYZ test file"

これは、コンテキストメニューと新しく作成されたファイルの両方のファイルタイプの名前になります。私が知っている限りでは、この値を空白のままにしても機能しません。

アイコン:

Windowsがファイルの種類にソフトウェアを関連付けると、アイコンが追加されます。

3
Arete

プレーンテキストファイルを作成し、それに次の行を追加します。


Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.txt\ShellNew]
"NullFile"=""

ファイルを保存し、拡張子を.regファイルに変更します。例えば。 "myNewItem.reg"。 (myNewItem.reg.txt)のようにファイル名だけでなく、必ず拡張子の名前を変更してください。

ファイルをダブルクリックすると、レジストリが更新されます。

次のステップ、そしてそれは非常に重要です、あなたのコンピュータを直接再起動してください。そのため、コンテンツメニューを開いて、すでに機能しているかどうかを確認しないでください。まずコンピュータを再起動してください。

あなたがあなたの素晴らしい新しいアイテムが既にリストされているかどうか見るためにあなたが内容メニューを開くならば、レジストリは回復されるでしょう...

またこのプログラムを試してみてください。 http://sourceforge.net/projects/shellnewhandler/

2
Bnutoswa

レジストリキー:

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Discardable\PostSetup\ShellNew

「新規」コンテキストメニューに表示されるものと表示されないものを実現するために変更することはできません。この値を変更すると、次に右クリックして[新規]コンテキストメニューを表示したときにエクスプローラによって上書きされます。試してみると、私の言っていることがわかります。

1
WoodyElf

この情報はすべてマイクロソフトで正式に文書化されています。通常、独自の新しいファイルタイプを登録している開発者を対象としています。

新しいサブメニューを拡張する

ユーザーがWindowsエクスプローラで ファイル メニューを開くと、最初のコマンドは 新規 です。このコマンドを選択するとサブメニューが表示されます。デフォルトでは、2つのコマンド Folder Shortcut が含まれており、ユーザーはサブフォルダーとショートカットを作成できます。このサブメニューを拡張して、あらゆるファイルタイプのファイル作成コマンドを含めることができます。

New サブメニューにファイル作成コマンドを追加するには、アプリケーションのファイルに関連付けられた ファイルタイプ が必要です。ファイル名拡張子のキーの下に ShellNew サブキーを含めます。 ファイル メニューの 新規 コマンドが選択されると、シェルはそれを 新規 サブメニューに追加します。コマンドの表示文字列は、プログラムのProgIDに割り当てられている説明的な文字列になります。

ファイル作成方法を指定するには、 ShellNew サブキーに1つ以上のデータ値を割り当てます。利用可能な値は以下の通りです。

  • Command:アプリケーションを実行します。これは、実行されるアプリケーションのパスを指定する REG_SZ の値です。たとえば、ウィザードを起動するように設定できます。
  • Data:指定されたデータを含むファイルを作成します。データはファイルのデータを含む REG_BINARY 値です。 NullFileまたはFileNameが指定されている場合、データは無視されます。
  • FileName:指定されたファイルのコピーであるファイルを作成します。 FileNameは REG_SZ の値で、コピーするファイルの完全修飾パスに設定されています。
  • NullFile:空のファイルを作成します。 NullFileには値が割り当てられていません。 NullFileを指定した場合、DataおよびFileNameの値は無視されます。

そして例として、新しい空のmpyファイルを作成します。

HKEY_CLASSES_ROOT
  (Default) = MyProgram.1
  MyProgram.1
   .myp
      ShellNew
         NullFile

特定のテンプレートファイルに基づいて新しいファイルを作成するには

HKEY_CLASSES_ROOT
   .myp
      (Default) = MyProgram.1
      MyProgram.1
         ShellNew
            FileName: REG_SZ = "%ProgramData%\Microsoft\Windows\Templates\MyNewTemplate.myp"
0
Ian Boyd