大きな疑問は、これは安全か?

大きな疑問は、これは安全か?

フォルダーまたは「マイ コンピューター」を開いたときに開く既定のプログラムとして別のプログラムを設定する方法はありますか? Windows エクスプローラーを FreeCommander などの別のプログラムに置き換えたいのですが、コントロール パネルのオプションでプログラムの関連付けを調べようとしましたが、フォルダーを開くオプションが見つかりませんでした。

どこかにそれを実行できる正規表現があると思いますが、手作業で検索するつもりはありません。

答え1

一般的にはPHOENiXの質問は正しいのですが、1つ問題があります。レジストリキーはHKEY_CLASSES_ROOT\Folderディレクトリだけでなく、さまざまな特別なフォルダもカバーします。たとえば、コントロールパネルなどです。これらは、PHOENiX が書いている GUID 文字列です。サードパーティのファイル マネージャーでこのような特別なフォルダーを開こうとすると、失敗する可能性が高く、それらのフォルダーは使用できなくなります。

実際に必要なのは、ディレクトリそしてドライブファイル マネージャーで開くことができます。これには 2 つのレジストリ キーがあります。

  • HKEY_CLASSES_ROOT\Directory
  • HKEY_CLASSES_ROOT\Drive

Total Commanderをデフォルトのファイルマネージャとして設定する方法の例を2つ示します。どちらの場合も、クリック(スタートメニューなど)、ダブルクリック(デスクトップ、Windowsファイルエクスプローラなど)、別のアプリケーションから開くなど、任意のディレクトリまたはドライブがTotal Commanderの新しいタブで開かれます。唯一の違いは、最初の例が開けるディレクトリ/ドライブのコンテキストメニューの項目と2つ目は新しい項目を追加することですTotal Commanderで開くTotal Commander のアイコンをコンテキスト メニューに追加します。

以下の内容をコピーして新しいファイルに貼り付け、拡張子を付けて.reg実行します。もちろん、Total Commander の実行可能ファイルへのパスが正しいことを確認する必要があります。

チェックしてくださいドキュメンテーション詳細については。

1. デフォルトを使用する開けるアイテム

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Drive\shell]
@="open"

[HKEY_CLASSES_ROOT\Drive\shell\open\command]
@="\"C:\\Program Files\\totalcmd\\TOTALCMD64.EXE\" \"%1\" /T /O /S"

[HKEY_CLASSES_ROOT\Directory\shell]
@="open"

[HKEY_CLASSES_ROOT\Directory\shell\open\command]
@="C:\\Program Files\\totalcmd\\TOTALCMD64.EXE \"%1\" /T /O /S"

2. 新しいコンテキストメニュー項目を追加するTotal Commanderで開く

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Drive\shell]
@="TotalCommander"

[HKEY_CLASSES_ROOT\Drive\shell\TotalCommander]
@="Open in Total Commander"

[HKEY_CLASSES_ROOT\Drive\shell\TotalCommander\command]
@="\"C:\\Program Files\\totalcmd\\TOTALCMD64.EXE\" \"%1\" /T /O /S"
"Icon"="C:\\Program Files\\totalcmd\\TOTALCMD64.EXE,0"

[HKEY_CLASSES_ROOT\Directory\shell]
@="TotalCommander"

[HKEY_CLASSES_ROOT\Directory\shell\TotalCommander]
@="Open in Total Commander"
"Icon"="C:\\Program Files\\totalcmd\\TOTALCMD64.EXE,0"

[HKEY_CLASSES_ROOT\Directory\shell\TotalCommander\command]
@="C:\\Program Files\\totalcmd\\TOTALCMD64.EXE \"%1\" /T /O /S"

Total Commanderのコマンドラインパラメータ

上記の例では、4 つのコマンドライン パラメータが使用されています。

  • "%1": 開かれたディレクトリ/ドライブのパス。空白文字を含むパスを正しく処理するには引用符で囲む必要があります。
  • /O: 新しいインスタンスを実行する代わりに、Total Commanderの既存のインスタンスを使用します
  • /T: 現在アクティブなタブを再利用せずに新しいタブを開きます
  • /S: 開かれたディレクトリ/ドライブはソースとして扱われ、現在アクティブなタブがあるパネルで開かれます。

チェックしてくださいドキュメンテーションその他のパラメータについては、

答え2

「Extras」メニューのオプションを使用して Q-Dir をファイル エクスプローラーとして設定する前後のレジストリを比較すると、実際の動作は次のようになります (ソフトウェアはオープン ソースではないようです)。

Key: HKEY_LOCAL_MACHINE\Software\Classes\Folder\shell
Change: Added Value
Value: *Q-Dir
Type: REG_SZ

Key: HKEY_LOCAL_MACHINE\Software\Classes\Folder\shell\*Q-Dir
Change: Added Key

Key: HKEY_LOCAL_MACHINE\Software\Classes\Folder\shell\*Q-Dir
Change: Added Value (Icon)
Value: C:\Program Files\Q-Dir\Q-Dir.exe
Type: REG_SZ

Key: HKEY_LOCAL_MACHINE\Software\Classes\Folder\shell\*Q-Dir\command
Change: Added Key

Key: HKEY_LOCAL_MACHINE\Software\Classes\Folder\shell\*Q-Dir\command
Change: Added Value
Value: "C:\Program Files\Q-Dir\Q-Dir.exe" /e>%L>%D>%1>%S>
Type: REG_SZ

コンテキスト メニューにも表示されるシェル コマンドを作成しますが、これが「デフォルト」のアクションになるため、Windows ファイル エクスプローラーで何かを開くと、代わりに Q-Dir で開きます。

最初のレジストリ変更により、デフォルトのシェルが新しく作成されたシェル コマンドに設定されます*Q-Dir

最後のレジストリ変更の値の意味は次のとおりです。

"C:\Program Files\Q-Dir\Q-Dir.exe"-- Q-Dir.exe
/e>%L>%D>%1>%S>を次の引数で実行します

>%L>%D>%1>%S>コマンドライン変数についてはここで詳しく説明します。コンテキストメニューのシェルコマンドを書くときに使用できる特殊変数

ただし、>それらと の間の は/eQ-Dir に固有です。Q-Dir は、/eの値を受け取るスイッチを特別に実装し、 で分割して>、必要に応じて優先チェーンで使用できるようにします。


大きな疑問は、これは安全か?

確かなことはわかりませんが、注意して行ってください。シェル置換プログラムに、ファイル パスであると予想される引数が渡される可能性があることに気づきましたが、実際には奇妙な GUID 文字列 ( など) であることが判明しました::{123E4567-E89B-12D3-A456-426614174000}\8\::{123E4567-E89B-12D3-A456-426614174000}。たとえば、スタート メニューでアプリを右クリック -> アンインストールすると、通常はエクスプローラー (既定のシェル) に渡され、そこから処理されます。

この問題に対処する 1 つの方法は、引数を受け取り、それがファイル パスであることを確認し、そうでない場合は、実際に必要なシェルを開く代わりに、引数を explorer.exe に渡す中間プログラムを作成することです。Q-Dir などのプログラムには、これまたは同様のものが直接プログラムされているため、Q-Dir ではこれは必要ありません。

答え3

FreeCommanderについてはよく分かりませんが、Q-Dirそのファイル マネージャーをデフォルトとして設定するオプションがあります。

ここに画像の説明を入力してください

ただし、ポータブル アプリケーションとして実行する場合、この設定にはいくつかの制限があります。たとえば、Win EWindows エクスプローラーを起動しますが、Q-Dir を使用してフォルダーを開くためのコンテキスト メニュー エントリがあります。

答え4

Erel Segal-Halevi 氏は、懸賞金の中で、タブ付きのファイル マネージャーを要求しました。

代替ファイルマネージャは数多くあり、そのほとんどは無料であり、タブをサポートするものもあります。そのような製品の一覧とレビューは、次の記事でご覧いただけます。 最高の無料ファイルマネージャーこのリストからエレルは QTTabBarは、タブと追加のフォルダー ビューによって Windows エクスプローラーを拡張します。

Windows エクスプローラーを含む Windows 上のあらゆる製品にタブを追加できる製品も存在します。 整理整頓タブ そして タスクスペース

関連情報