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

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

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

Аватара пользователя
D1P
Сообщения: 2987
Зарегистрирован: Пн дек 20, 2004 18:30
Откуда: Тбилиси
Контактная информация:

Сообщение D1P »

Дублировать посты не надо, это плохо.
99% вероятность, что упомянутые программы просто вызывают Explorer с нужными параметрами, либо вызывают функцию, которая делает то же самое.
Альтернативные варианты: хук этой функции и/или замена файла explorer.exe заглушкой, которая будет передавать все запросы в TC.
Как это будет работать - предсказать не берусь, но почти наверняка - хреново.
GeNtlE
Сообщения: 141
Зарегистрирован: Чт дек 16, 2004 12:36
Откуда: Россия, Чита
Контактная информация:

Сообщение GeNtlE »

ClockworkBastard
Нет ну, допустим, если в программе (том же AIMP2 или Download Master) жёстко прописано «Открывать папку в Windows Explorer», он никакими мольбами открывать папку в Total Commander не будет. Только просить авторов указанных программ, чтобы те либо делали опции, либо использовали шелл, установленный по умолчанию.

Да и вообще, эта не та тема, где от проводника отказываются в принципе (вот здесь отказываются). Если перечитать первое сообщение темы и вникнуть в его смысл, станет понятно, что здесь пытались лишь добавить иконку Тотал Коммандера в окошко автозапуска сменных носителей. Указанная тема разобрана и освещена в соответствующей статье в Wiki. Остальное — оффтоп.

И сообщения дублировать не надо. Тут даже не руборд, где заблудиться проще простого.

Насчёт хуков — да. Хук на ShellExecute* — поле, усеянное граблями. :)
Новые версии SM2BT здесь.
ClockworkBastard
Сообщения: 2
Зарегистрирован: Вт дек 30, 2008 08:48

Сообщение ClockworkBastard »

Гмм, там где отказываются - опять не то ;) У меня тоже стоит другой шелл вместо виндозного рабочего стола...
Выходит снова и снова придётся ждать\искать хука - который сможет ухватить все обращеия к эксплореру.экзэ...

PS Есть один такой невнятный файл менеджер - Directory Opus - так он нашёл способ как захватывать все обращения... Если бы кто глянул - я был бы премного благодарен (опять - же встаёт вопрос - нужно ли это кому-нибудь кроме меня;))
Аватара пользователя
Strek
Сообщения: 205
Зарегистрирован: Вс окт 17, 2010 23:10
Контактная информация:

Сообщение Strek »

vasyabelkin писал(а):Очень просто - Folder Options -> File Types -> Drive (а не Folder). Там проставь action - open, application - full path to tc. Set as default. Все. И без перезапуска флешка откроется в Тотале.
Как на Windows 7 x64 это сделать? Также, как описано чуть выше или по-другому?
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Strek
А что надо? Моментальное открытие флешки в TC или избавление от предлагающего действия окна?
Первое решается с пом. USB Safely Remove. См. тему в ПО.
Второе - отключеним службы "Определение оборудования оболочки".
Аватара пользователя
Strek
Сообщения: 205
Зарегистрирован: Вс окт 17, 2010 23:10
Контактная информация:

Сообщение Strek »

Flasher писал(а):Первое решается с пом. USB Safely Remove
Средствами Windows хочу.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Советую самостоятельно пройтись по веткам реестра, приведённым GeNtlE. У меня служба отключена, и мне далеко не всегда требуется открывать внешнее устройство сразу после его подключения (открываю по хоткею), поэтому просто экспериментировать желания нет.
Аватара пользователя
Strek
Сообщения: 205
Зарегистрирован: Вс окт 17, 2010 23:10
Контактная информация:

Сообщение Strek »

Flasher
А эти ключи подходят для Windows 7 x64? (не хочется эксперементировать).
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Strek
Если б я знал об этом, то не предлагал бы. Но то, что реестр в 64 отличается - это факт.
tak0dmin
Сообщения: 10
Зарегистрирован: Сб сен 11, 2010 12:08

Сообщение tak0dmin »

Strek
не подходят
Аватара пользователя
KopBuH
Сообщения: 127
Зарегистрирован: Пт июл 02, 2010 09:21
Откуда: Tashkent, Uzbekistan

Сообщение KopBuH »

Вот код рег-файла для добавления TC в меню автозапуска:
сделан для сборки TechAdmin [ссылка убрана]
Добавление: (путь к TotalCmd.exe нужно указать в первой секции!)

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

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\TotalCmd.exe]
@="C:\\Program Files\\TotalCmd\\TOTALCMD.EXE"

; Интеграция в меню автозапуска дисков
[HKEY_CLASSES_ROOT\TotalCmd.AutoPlayHandlers\shell\TotalCmdOpenOnArrival\command]
@="\"TOTALCMD.EXE\" /P=L /L=\"%L\""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\TotalCmdOpenOnArrival]
"Action"="Открыть в Total Commander"
"InvokeProgID"="TotalCmd.AutoPlayHandlers"
"InvokeVerb"="TotalCmdOpenOnArrival"
"Provider"="Total Commander"
"DefaultIcon"=hex(2):25,00,54,00,6f,00,74,00,61,00,6c,00,43,00,6d,00,64,00,45,\
  00,78,00,65,00,25,00,2c,00,30,00,00,00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\UnknownContentOnArrival]
"TotalCmdOpenOnArrival"=""

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

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

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

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

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

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

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlersDefaultSelection]
"PlayVideoFilesOnArrival"="TotalCmdOpenOnArrival"
"MixedContentOnArrival"="TotalCmdOpenOnArrival"
"PlayMusicFilesOnArrival"="TotalCmdOpenOnArrival"
"GenericVolumeArrival"="TotalCmdOpenOnArrival"
"UnknownContentOnArrival"="TotalCmdOpenOnArrival"
"VideoCameraArrival"="TotalCmdOpenOnArrival"

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

Windows Registry Editor Version 5.00

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\TotalCmd.exe]
[-HKEY_CLASSES_ROOT\TotalCmd.AutoPlayHandlers]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\TotalCmdOpenOnArrival]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\UnknownContentOnArrival]
"TotalCmdOpenOnArrival"=-
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\MixedContentOnArrival]
"TotalCmdOpenOnArrival"=-
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\GenericVolumeArrival]
"TotalCmdOpenOnArrival"=-
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\ShowPicturesOnArrival]
"TotalCmdOpenOnArrival"=-
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\PlayMusicFilesOnArrival]
"TotalCmdOpenOnArrival"=-
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\PlayVideoFilesOnArrival]
"TotalCmdOpenOnArrival"=-
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\VideoCameraArrival]
"TotalCmdOpenOnArrival"=-
[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlersDefaultSelection]
[mod="Avada"]Ссылка на варезную сборку TC удалена согласно правилам форума.[/mod]
Аватара пользователя
Strek
Сообщения: 205
Зарегистрирован: Вс окт 17, 2010 23:10
Контактная информация:

Сообщение Strek »

Почему с таким кодом
(изменил только эти строки)

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

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\TotalCmd64.exe]
@="d:\\Programs\\TotalCommander\\Launching\\TOTALCMD64.EXE"

; Интеграция в меню автозапуска дисков
[HKEY_CLASSES_ROOT\TotalCmd.AutoPlayHandlers\shell\TotalCmdOpenOnArrival\command]
@="\"TOTALCMD64.EXE\" /O /P=R /R=\"%L\" /I=D:\\Programs\\TotalCommander\\Launching\\Wincmd64.ini"
... при вставке флэшки, Commander запускается сразу без окна автозапуска?

P.S. До добавления в реестр окно появлялось.
Последний раз редактировалось Strek Сб мар 23, 2013 10:19, всего редактировалось 1 раз.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Strek
А процитировать только изменённую начальную часть предыдущего кода без полного повторения можно было?
Оставляем только то, что имеет отношение к делу.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Ответить