Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: Подмена открытия папок Проводником 
Author Message
GeNtlE



PostPosted: Sat Jun 17, 2006 17:10    Post subject: Reply with quote

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

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

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

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\DefaultIcon]
@=hex(2):25,53,79,73,74,65,6d,52,6f,6f,74,25,5c,53,79,73,74,65,6d,33,32,5c,73,\
  68,65,6c,6c,33,32,2e,64,6c,6c,2c,33,00

[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]
@=hex(2):25,53,79,73,74,65,6d,52,6f,6f,74,25,5c,45,78,70,6c,6f,72,65,72,2e,65,\
  78,65,20,2f,65,2c,2f,69,64,6c,69,73,74,2c,25,49,2c,25,4c,00

[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]
@=hex(2):22,43,3a,5c,50,72,6f,67,72,61,6d,20,46,69,6c,65,73,5c,74,6f,74,61,6c,\
  63,6d,64,5c,74,6f,74,61,6c,63,6d,64,2e,65,78,65,22,20,22,25,31,22,00

[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"

2. Зарегистрировать обработчик автозапуска OpenTC и назначить его выполнение на вставку диска. Здесь указываются путь к иконке и строки, которые будут отображаться в окне Автозапуска, а также, действия, которые необходимо выполнить.
Code:
REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\OpenTC]
"Action"="Открыть для просмотра файлов"
"DefaultIcon"=hex(2):43,3a,5c,50,72,6f,67,72,61,6d,20,46,69,6c,65,73,5c,74,6f,\
  74,61,6c,63,6d,64,5c,49,63,6f,6e,73,5c,58,50,44,72,65,61,6d,73,2e,49,43,4c,\
  2c,2d,30,00
"InvokeProgID"="FolderTC"
"InvokeVerb"="open"
"Provider"="Total Commander"

3. Привязать обработчик к событиям.
Code:
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\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\ShowPicturesOnArrival]
"OpenTC"=""

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

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

При выполнении экспериментов, сделайте резервное копирование изменяемых веток реестра. Я вас предупредил!


Дополнения и улучшения преветствуются. Хочу добавить, что вышеуказанное тестировалось на нескольких машинах с Windows XP SP2.

+ Пути к Total Commander - свои.
_________________
Новые версии SM2BT здесь.


Last edited by GeNtlE on Sun Jun 18, 2006 12:21; edited 1 time in total
View user's profile Send private message Send e-mail Visit poster's website ICQ Number


Powered by phpBB © 2001, 2005 phpBB Group