Подмена открытия папок Проводником

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Роман
Сообщения: 19
Зарегистрирован: Ср дек 22, 2004 22:14
Откуда: Орёл

Сообщение Роман »

2GeNtlE
Пытался найти то же, что у тебя в сообщении - из первой строки ничего не нашел до тех пор, пока не набрал в окне поиска AutoplayHandlers вместо AutoplayHadlers и CancelAutoplay вместо CancelAutplay.
Если не можеш набрать вручную правильно - есть пункт контекстного меню в дереве: "Копировать имя раздела". Потом только надо в сообщении нажать в нужном месте Ctrl-V.
Повнимательнее, пожалуйста.
GeNtlE
Сообщения: 141
Зарегистрирован: Чт дек 16, 2004 12:36
Откуда: Россия, Чита
Контактная информация:

Сообщение GeNtlE »

Роман писал(а):Повнимательнее, пожалуйста.
Спасибо, учтем.
А почему у меня не открывается это все автоматически без меню Автозапуска, я так и не разобрался. Больше это никому не интересно?
Новые версии SM2BT здесь.
ETr@vel
Сообщения: 9
Зарегистрирован: Вт фев 14, 2006 21:02
Откуда: Киев

Сообщение ETr@vel »

Подниму снова тему.
Заработал способ, который посоветовал vasyabelkin в этом посте,
Кстати HKEY_LOCAL_MACHINE не обязательно править, после редактирования HKEY_CLASSES_ROOT изменения автоматически вносятся и в ключ HKEY_LOCAL_MACHINE, не знаю почему так происходит. Так вот, после редактирования реестра по совету Васи Белкина при подключении флешки открывается диск ассоциированный с флешкой, чего собственно и добивались в этой теме. Причем диск открывает как при запущенном Total Commander (все происходит корректно, второе окно TC не создается, а флешка открывается в существующем окне), так и при закрытом: запускается TC и открывается диск с флешкой.
Но возникла проблема о которой написал GeNtlE:
P. S. А добавление действия "Open" ничем не обернулось, кроме той мелочи, что при двойном щелчке по диску в окне "Мой компьютер" или в Главном меню, он открывается в TC...
А я не сохранил значение ключа, которое было до редактирования. Посмотрите ктото его пожалуйста, ключ: HKEY_CLASSES_ROOT\Drive\shell\open\command
GeNtlE
Сообщения: 141
Зарегистрирован: Чт дек 16, 2004 12:36
Откуда: Россия, Чита
Контактная информация:

Сообщение GeNtlE »

ETr@vel писал(а):Но возникла проблема о которой написал GeNtlE:
P. S. А добавление действия "Open" ничем не обернулось, кроме той мелочи, что при двойном щелчке по диску в окне "Мой компьютер" или в Главном меню, он открывается в TC...
Ну, я это проблемой не называл (имхо, это плюс). Да и зачем открывать диски в Проводнике? Есть же Total Commander! :)
Ну написано же:
При выполнении экспериментов, сделайте резервное копирование изменяемых файлов и реестра. Я вас предупредил!
А я не сохранил значение ключа, которое было до редактирования.
Всё очень просто. До редактирования его там нет вообще. Он добавляется. Удалишь его - всё должно вернуться как было (вроде бы :)).
Наверно, чтобы оставить два способа, нужно копать дальше в сторону добавления пунктов в меню автозапуск...
Хотя... можно nnCron'ом попробовать.
Последний раз редактировалось GeNtlE Пт фев 17, 2006 17:38, всего редактировалось 1 раз.
Новые версии SM2BT здесь.
ETr@vel
Сообщения: 9
Зарегистрирован: Вт фев 14, 2006 21:02
Откуда: Киев

Сообщение ETr@vel »

GeNtlE
Открывать Explorer и щелкать по диску чтобы потом зайти в него с помощью Total Commander? Это как нужно не любить Explorer, чтобы пользоваться этой фичей :).
GeNtlE
Сообщения: 141
Зарегистрирован: Чт дек 16, 2004 12:36
Откуда: Россия, Чита
Контактная информация:

Сообщение GeNtlE »

ETr@vel писал(а):Но возникла проблема о которой написал GeNtlE
Скоро выложу решение проблемы. Всё оказалось не так сложно, казалось. :)
Новые версии SM2BT здесь.
ETr@vel
Сообщения: 9
Зарегистрирован: Вт фев 14, 2006 21:02
Откуда: Киев

Сообщение ETr@vel »

GeNtlE
отлично, бедем ждать ;)
GeNtlE
Сообщения: 141
Зарегистрирован: Чт дек 16, 2004 12:36
Откуда: Россия, Чита
Контактная информация:

Сообщение GeNtlE »

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

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

Код: Выделить всё

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 и назначить его выполнение на вставку диска. Здесь указываются путь к иконке и строки, которые будут отображаться в окне Автозапуска, а также, действия, которые необходимо выполнить.

Код: Выделить всё

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. Привязать обработчик к событиям.

Код: Выделить всё

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"=""
Всё! Подключаем флешки, вставляем диски и радуемся жизни. :)

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


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

+ Пути к Total Commander - свои.
Последний раз редактировалось GeNtlE Вс июн 18, 2006 12:21, всего редактировалось 1 раз.
Новые версии SM2BT здесь.
Аватара пользователя
funduk
Сообщения: 1515
Зарегистрирован: Вт авг 16, 2005 16:00
Откуда: Санкт-Петербург

Сообщение funduk »

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC]
@="Iaiea"
"EditFlags"=hex:d2,03,00,00
"TileInfo"="prop:Size"
:shock:
Точно так? :wink:
GeNtlE
Сообщения: 141
Зарегистрирован: Чт дек 16, 2004 12:36
Откуда: Россия, Чита
Контактная информация:

Сообщение GeNtlE »

funduk писал(а):
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC]
@="Iaiea"
"EditFlags"=hex:d2,03,00,00
"TileInfo"="prop:Size"
:shock:
Точно так? :wink:
Там слово "Папка" должно быть. При верстке сообщения использовал SynPlus, а он кодировку испоганил. Кое-где я исправил, а здесь забыл. Но это не критично. Должно работать. Проверьте.
Новые версии SM2BT здесь.
Аватара пользователя
Митяй
Сообщения: 102
Зарегистрирован: Ср окт 05, 2005 12:28
Откуда: Москва

Сообщение Митяй »

В следующий раз создавай комманды как строки, а не как расширяемые строки, тогда они будут отображаться текстом, а не hex-кодом. Я 10 минут набивал всё это в hex-редакторе, чтобы понять, что имеется в виду.
Для тех, кто хочет, чтобы диск открывался в неактивной панели в новой вкладке, предлагаю следующий код:

Код: Выделить всё

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\shell\open\command]
@="\"c:\\Program Files\\Total Commander\\totalcmd.exe\" /S /O /T /R=%1"
Аватара пользователя
KarS
Сообщения: 102
Зарегистрирован: Пт апр 21, 2006 16:43
Откуда: г. Абакан

Сообщение KarS »

Попробовал решение GeNtlE. Вроде всё работает. Спасибо. Но возникло два вопроса:
1. У меня (WinXP SP1 Eng) в окне File Types появилась запись "Папки". Не создаст ли такая запись проблем в стабильности системы? Не будут ли к ней обращаться другие программы, которые не понимают русский язык?
2. В ТС у меня всегда несколько закладок, в т.ч. защищенных. Если ТС запущен, при подключении флешки ТС открывает её в новой вкладке - это нормально. Если же ТС не запущен, при подключении флешки ТС запускается и флешка открывается в окне с защищенной закладкой - это не очень удобно. Как сделать, чтобы ТС при подключении флешки запускался и открывал её в новой закладке?
К сожалению, то что написал Митяй, относится к файлу реестра. Но я уже запускал reg-файл, написанный GeNtlE. Я
не знаю, будет ли безопасным повторный запуск похожего файла с параметрами Митяя.
Подскажите, как непосредственно в реестре установить необходимые параметры для ТС?
В ветке HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FolderTC\shell\open\command я пробовал написать "C:\Program
Files\totalcmd\totalcmd.exe" "/О" "/Т" "%1", но ничего не получилось.[/b]
Аватара пользователя
Митяй
Сообщения: 102
Зарегистрирован: Ср окт 05, 2005 12:28
Откуда: Москва

Сообщение Митяй »

1. Появление записи "Папки" полностью безопасно и на стабильность системе не повлияет.
2. Запуск второго файла реестра просто изменит те поля, которые были созданы первым файлом реестра. Достаточно просто сохранить две мои строки в файл *.reg, дописать сверху REGEDIT4 и запустить его.
я пробовал написать "C:\Program Files\totalcmd\totalcmd.exe" "/О" "/Т" "%1", но ничего не получилось.
Должно было получиться. Запуск файла реестра аналогичен редактированию реестра вручную. Посмотри, не ошибся ли ты в слешах и кавычках.
Можешь просто заменить этот параметр на мою строку (но слеши должны быть одинарными) и если всё заработает правильно, удали лишние ключи (а можешь просто заменить /R на /L, это будет аналогично твоей строке).
Аватара пользователя
KarS
Сообщения: 102
Зарегистрирован: Пт апр 21, 2006 16:43
Откуда: г. Абакан

Сообщение KarS »

Сделал как посоветовал Митяй. Его запись поместил в рег-файл и запустил.
Все равно, если ТС не запущен, то при подключении флешки запускается ТС и открывается содержимое флешки в защищенной вкладке.
Что-то здесь не так.
Drimvan
Сообщения: 4
Зарегистрирован: Вс мар 13, 2005 07:44

Проблема

Сообщение Drimvan »

сделал все как описал GeNtlE
но ничего не получается при подключении флешки открывается новое окно праведника а не ТС пути к ТС поправил на свои
В свойствах съемного диска в закладке автозапуск есть команда открыть для просмотра файлов используя Total Commander
подскажите в чем дела
Ответить