Автоматическое открытие сменных носителей в TC
Материал из TCKB 2.0
| © Copyright |
| Эта статья защищена авторским правом, и на её правку наложены ограничения. |
Как сделать, чтобы сменные носители такие как CD-, DVD- и Flash-диски открывались автоматически в Total Commander, а не в Проводнике?
Сделать это очень просто: в системе регистрируется новый тип файла и новый обработчик автозапуска, далее необходимо привязать обработчик к системным событиям вставки диска.
Содержание |
Регистрация нового типа файла
Сначала зарегистрируем новый тип файла (я назвал его "FolderTC"). Делается это простым клонированием стандартного типа "Folder". Мы заменим в его описании только имя файла обработчика действия "open", и вместо стандартного Проводника пропишем туда путь к 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" и назначим его выполнение на вставку диска. В нём нужно указать описание действия, которое будет показано в окне автозапуска (параметр Action), путь к иконке, которая будет отображаться напротив (DefaultIcon), тип файла, созданного выше (InvokeProgID), действие, которые необходимо выполнить (InvokeVerb) и название исполнителя обработчика (Provider). Ниже приведён пример REG-файла, выполняющего регистрацию обработчика автозапуска.
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"
Параметр "DefaultIcon" указываtn на файл с иконкой (путь и номер иконки в файле). Можно указывать исполняемые файлы, библиотеки и отдельные иконки.
Привязка созданного обработчика к событиям
Выполняем следующий 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"=""
| Врезка |
| Отмечу, что обработчик добавляется не ко всем типам накопителей, а только к наиболее популярным, остальное можно поправить в реестре вручную, если вам это нужно. |
| Павел Дубровский |
Всё! Подключаем флешки, вставляем диски и радуемся жизни!
