web-dev-qa-db-ja.com

「新しい」コンテキストメニュー項目のデフォルトのファイル名を変更する

最近、HTML、CSS、JavaScript、PHP)を追加し、可能であれば変更したい値がありますが、他のメニューを削除して、「新規」コンテキストメニューを好みに合わせてカスタマイズしました。

たとえば、HTMLファイルはGoogle Chromeアイコン(Chromeが私のデフォルトのブラウザです)とともに「OperaWebDocument」としてリストに表示されます。そのテキストを「HTMLFile」に変更したいと思います。また、これを選択すると、ファイルのデフォルトは「New Opera Web Document.html」になり、これを「index.html」に変更したいと思います。

そのようなことは可能ですか?もしそうなら、どのように?ありがとう。

3
Spedwards

良い質問ですが、答えるのは難しいです。 のデフォルトのファイル名が怖いです。新しいコンテキストメニューShell32.dllにハードコードされています。デフォルトでは、作成する新しいファイルの名前はファイルタイプの名前です。単語Newが前に付き、その後に適切なファイル名拡張子が続きます。

FileNameサブキーの下にあるItemNameShellNewの値の有望な組み合わせを確認できません (詳細はこちら)

最後のチャンスはcommandサブキーメソッドのようです。

wscript.exe "full-path\ItemName.vbs" "%1"

ここで、ItemName.vbsは、"%1"から派生した任意の名前付きファイルを作成できます。これは、デフォルトのファイル名への完全修飾パスです。

スクリプトは、例えばFileName値からテンプレートファイルをコピーします。 テンプレートファイルの名前がそこで完全修飾されていない場合、スクリプトはFileName valueメソッドを使用する場合と同じ方法でそれを検索できます (詳細はこちら)

上記のレジストリサブキー:HKEY_CLASSES_ROOT\.abc\ShellNew、ここで.abcは任意のファイル拡張子を表します。

- - 注意 - -

レジストリエディタで、HKEY_CLASSES_ROOT\.htmlに移動し、Defaultの値データがChromeHTMLのようになる可能性があることに注意してください。ここで、HKEY_CLASSES_ROOT\ChromeHTMLに移動し、Default値データを再度メモします。Chrome HTML Documentのようなものである可能性があります。

そのシナリオでは、Newコンテキストメニューは、デフォルトのファイル名Chrome HTML DocumentNew Chrome HTML Document.htmlを提供する必要があります。

(ちなみに、上記のWindowsのデフォルトをhtmlfileHTML DocumentおよびNew HTML Document.htmlそれぞれ)

発生に戻る:NewShell32.dllにハードコードされ、Chrome HTML Documentはレジストリからのデータです(変更可能)および.htmlはファイル名拡張子(filetype)です。

ただし、簡潔で短いNewプレフィックスがあれば嬉しいです。ローカリゼーションでは、Novýobjektになります。 -(ハイフンを含む!)

1
JosefZ

これはここからの繰り返しの質問です:

Windowsのコンテキストメニューで名前/説明を変更

これはグーグルで最初に出てきて、他のたくさんのリンクが答えなしで現れました。何らかの理由で、コンテキストメニューを編集するように作成されたプログラムでさえ、コンテキストメニューの新しいメニュー項目の名前を変更することはできません。有料のソリューションがあるかもしれませんが、簡単な無料のソリューションは見つかりませんでした。

前のリンクのKnuckle-Draggerによる回答は機能します。実際の答えがグーグルで見つけるのに時間がかかったので、私はこれをクロスリンクしているだけです。

上記のリンクからの回答のコピーと貼り付けは次のとおりです。

ナックルドラガーは言った:

姉妹キーを見つけて、2つのことを行う必要があります。 「FriendlyTypeName」がある場合は、最初に削除します。次に、デフォルト値を編集します。 .reg/regfileを使用して例を示します。

.regファイルテンプレートはHKCR.regにありますが、「新規」に表示される「登録エントリ」テキストは、HKCR\regfileのデフォルトの@値からのものです。

手順1)キーに「FriendlyTypeName」がある場合は削除/名前を変更します。

手順2)デフォルト値を新しい名前に編集します。効果はすぐに現れます。

Windowsレジストリエディタバージョン5.00

[HKEY_CLASSES_ROOT\regfile] @ = "登録エントリ" "FriendlyTypeName" =-

0
orbidia