Автоматическое открытие сменных носителей в TC

Как сделать, чтобы сменные носители такие как CD/DVD- и Flash-диски открывались автоматически в Total Commander, а не в Проводнике?

Сделать это очень просто. Для этого нам потребуется выполнить действия, описанные ниже.

Сначала зарегистрируем новый тип файла (я назвал его "FolderTC"). Делается это простым клонированием стандартного типа "Folder". Мы заменим в его описании только имя файла обработчика действия "open", и вместо пути к Windows Explorer пропишем путь к Total Commander. Ключи - на свой вкус.



Для выполнения вышеописанной операции копируем следующий текст в reg-файл и выполняем его:

REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC]
@="Папка"
"EditFlags"=hex:d2,03,00,00
"TileInfo"="prop:Size"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\DefaultIcon]
@="%SystemRoot%\\System32\\shell32.dll,3"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\shell]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\shell\explore]
"BrowserFlags"=dword:00000022
"ExplorerFlags"=dword:00000021

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\shell\explore\command]
@="%SystemRoot%\\Explorer.exe /e,/idlist,%I,%L"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\shell\explore\ddeexec]
@="[ExploreFolder(\"%l\", %I, %S)]"
"NoActivateHandler"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\shell\explore\ddeexec\application]
@="Folders"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\shell\explore\ddeexec\ifexec]
@="[]"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\shell\explore\ddeexec\topic]
@="AppProperties"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\shell\open]
"BrowserFlags"=dword:00000010
"ExplorerFlags"=dword:00000012

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\shell\open\command]
@="\"c:\\dshell\\totalcmd.exe\" /O /T /R=\"%1\""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\shellex]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\shellex\ColumnHandlers]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\shellex\ColumnHandlers\{0D2E74C4-3C34-11d2-A27E-00C04FC30871}]
@=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\shellex\ColumnHandlers\{24F14F01-7B1C-11d1-838f-0000F80461CF}]
@=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\shellex\ColumnHandlers\{24F14F02-7B1C-11d1-838f-0000F80461CF}]
@=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\shellex\ColumnHandlers\{66742402-F9B9-11D1-A202-0000F81FEDEE}]
@=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\shellex\ContextMenuHandlers]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\shellex\DragDropHandlers]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\shellex\DragDropHandlers\{BD472F60-27FA-11cf-B8B4-444553540000}]
@=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\shellex\PropertySheetHandlers]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.FolderTC]
@="Snapins.FolderSnapin"

Обратите внимание: красным выделена строка, в которой указан путь к Total Commander и параметры открытия диска, заданные ключами TC. Путь, само собой, нужно вписать правильный, с ключами разобраться можно, прочтя справку TC. В данном случае (/O /T /R=\"%1\") диск будет открываться в уже запущенной копии TC, на новой вкладке в правой панели.

Зарегистрируем обработчик автозапуска OpenTC и назначим его выполнение на вставку диска. Тут нужно указать путь к иконке, которая будет отображаться в окне автозапуска, текст, который будет показан там же, а также действия, которые необходимо выполнить. Красным выделена строка, указывающая на файл с иконкой (путь и номер иконки в файле). Можно указывать исполняемые файлы, библиотеки и отдельные иконки.

REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\OpenTC]
"Action"="Открыть для просмотра файлов"
"InvokeProgID"="FolderTC"
"InvokeVerb"="open"
"Provider"="Total Commander"
"DefaultIcon"="C:\\dshell\\totalcmd.exe,-0"

Теперь привязываем обработчик к событиям вставки накопителя. Это делается с помощью reg-файла, приведённого ниже.
Отмечу, что обработчик добавляется не ко всем типам накопителей, а только к наиболее популярным, остальное можно поправить в реестре вручную, если вам это нужно.

REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\AutorunINFLegacyArrival]
"OpenTC"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\GenericVolumeArrival]
"OpenTC"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\HandleCDBurningOnArrival]
"OpenTC"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\IomegaHipZipArrival]
"OpenTC"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\MixedContentOnArrival]
"OpenTC"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\PlayCDAudioOnArrival]
"OpenTC"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\PlayDVDMovieOnArrival]
"OpenTC"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\PlayMusicFilesOnArrival]
"OpenTC"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\PlayVideoFilesOnArrival]
"OpenTC"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\ShowPicturesOnArrival]
"OpenTC"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\VideoCameraArrival]
"OpenTC"=""

Всё! Подключаем флешки, вставляем диски и радуемся жизни:



GeNtlE
постобработка by Павел Дубровский