
Есть ли способ установить другую программу в качестве программы по умолчанию, которая открывается при открытии папки или "Моего компьютера"? Я хотел бы заменить проводник Windows другой программой, например FreeCommander. Я пробовал просматривать параметры панели управления для сопоставления программ, но не смог найти параметр для открытия папок.
Я предполагаю, что где-то есть какое-то регулярное выражение, которое могло бы это сделать, но я не собираюсь искать его вручную.
решение1
В целом вопрос PHOENiX правильный, но есть одна проблема. Ключ реестра HKEY_CLASSES_ROOT\Folder
охватывает не только каталоги, но и различные специальные папки, например, элементы вПанель управленияи т. д. Это те строки GUID, о которых пишет PHOENiX. Если вы попытаетесь открыть такую специальную папку в стороннем файловом менеджере, то, скорее всего, это не удастся, и вы больше не сможете использовать эти папки.
На самом деле вам нужно просто настроитькаталогиидискидля открытия в вашем файловом менеджере. Для этого есть два ключа реестра:
HKEY_CLASSES_ROOT\Directory
HKEY_CLASSES_ROOT\Drive
Вот два примера того, как установить Total Commander в качестве файлового менеджера по умолчанию. Оба варианта открывают любой каталог или диск в новой вкладке Total Commander при щелчке (например, в меню «Пуск»), двойном щелчке (например, на рабочем столе, в проводнике Windows и т. д.), открытии из другого приложения и т. д. Единственное отличие в том, что первый вариант используетОткрытьпункт в контекстном меню каталога/диска, а второй — добавление нового элементаОткрыть в 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
Сравнивая реестр до и после настройки 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>
— это переменные командной строки, которые более подробно описаны здесь:Какие специальные переменные доступны при написании команды оболочки для контекстного меню
Однако >
между ними и /e
является специфичным для Q-Dir. Q-Dir специально реализовал /e
переключатель, который принимает значения, чтобы его можно было разделить >
и использовать по мере необходимости в цепочке приоритетов.
Главный вопрос: безопасно ли это?
Мы не знаем наверняка, но делайте это с осторожностью. Я уже заметил, что программа замены оболочки может получить аргумент, который можно было бы принять за путь к файлу, когда на самом деле это оказывается странной строкой GUID, например, в формате ::{123E4567-E89B-12D3-A456-426614174000}\8\::{123E4567-E89B-12D3-A456-426614174000}
. Это, например, происходит, если вы щелкаете правой кнопкой мыши -> удалить приложение в меню «Пуск», что обычно передается в проводник (оболочка по умолчанию) и обрабатывается оттуда.
Одним из способов решения этой проблемы было бы создание промежуточной программы, которая принимает аргументы, проверяет, что это путь к файлу, а если нет, передает аргументы explorer.exe вместо открытия действительно нужной оболочки. Такие программы, как Q-Dir, имеют либо это, либо что-то похожее, запрограммированное непосредственно в них, поэтому это не нужно для Q-Dir.
решение3
Не уверен насчет FreeCommander, ноQ-Dirесть возможность установить этот файловый менеджер как файловый менеджер по умолчанию:
Однако эта настройка имеет некоторые ограничения, если запустить ее как портативное приложение. Например, Win Eзапускает проводник Windows, хотя есть пункт контекстного меню для открытия папки с помощью Q-Dir.
решение4
В качестве награды Эрель Сегал-Халеви запросил файловый менеджер с вкладками.
Существует множество альтернативных файловых менеджеров, в основном бесплатных, и некоторые из них поддерживают вкладки. Список таких продуктов с обзорами можно найти в статье Лучший бесплатный файловый менеджер. Из этого списка Эрель выбрал QTTabBar, который расширяет возможности проводника Windows за счет вкладок и дополнительных представлений папок.
Существуют даже продукты, которые могут добавлять вкладки в любой продукт в Windows, включая Проводник Windows: TidyTabs и TaskSpace.