Страница 1 из 11
Кнопка вкл\выкл "внутренние ассоциации"
Добавлено: Пт май 07, 2010 01:04
HA3APET
Хотелось бы кнопочку вкл\откл внутренние ассоциации TC.
Есть идеи реализовать это с помощью TotalSet или NirCmd.
Кто то, что то подобное творил? Или может есть способы проще?
Добавлено: Пт май 07, 2010 09:57
Вахмурка
В Тотале вообще много чего нельзя включать/отключать динамически, без перезапуска.
Добавлено: Пт май 07, 2010 13:45
HA3APET
вкл\откл внутренние ассоциации TC естественно с перезапуском, больше тут никак не получится. Мне интересно, кто нибудь уже делал подобное?
С помощью TotalSet можно подцеплять две настройки - 1) где все ассоциации прописаны 2) где не прописаны.
А с помощью NirCmd можно править wincmd.ini... прописывая и стирая в нём настройки внутр ассоциаций.
Добавлено: Пт май 07, 2010 13:48
MVV
После закрытия ТК поиском и заменой в файле wincmd.ini замени [Associations] на [-Associations] для отключения ассоциаций, и наоборот - для включения. Но если после отключения будут добавлены новые, потом при включении секций станет две.
Кстати, думаю, возможность отключения внутренних ассоциаций можно запросить у Гислера - мне кажется, что эта простая функция в некоторых случаях будет полезна (как вариант, добавить еще флаг в параметр RestrictInterface).
Добавлено: Пт май 07, 2010 13:51
HA3APET
MVV
Это понятно.. а как автоматизировать процесс.. повесив его на кнопку?
Пока Гислер не сделал такую простую функцию, приходится извращаться. Но возможность была бы оч полезна.
Re: Кнопка вкл\выкл "внутренние ассоциации"
Добавлено: Пт май 07, 2010 14:40
ask-rus
HA3APET писал(а):Хотелось бы кнопочку вкл\откл внутренние ассоциации TC.
Ранее мне этого тоже хотелось, но с [Extensions] (Alt+F3) надобность сама по себе отпала.
MVV писал(а):Кстати, думаю, возможность отключения внутренних ассоциаций можно запросить у Гислера - мне кажется, что эта простая функция в некоторых случаях будет полезна (как вариант, добавить еще флаг в параметр RestrictInterface).
Я бы лучше запросил возможность заносить два и более расширений [Extensions] в один ряд для одной программы.
Было:
Код: Выделить всё
[Extensions]
TXT=%COMMANDER_PATH%\SOFT\AkelPad\AkelPad.exe ^.txt
LOG=%COMMANDER_PATH%\SOFT\AkelPad\AkelPad.exe ^.log
INI=%COMMANDER_PATH%\SOFT\AkelPad\AkelPad.exe ^.ini
INF=%COMMANDER_PATH%\SOFT\AkelPad\AkelPad.exe ^.inf
Стало
БЫ:
Код: Выделить всё
[Extensions]
TXT,LOG,INI,INF=%COMMANDER_PATH%\SOFT\AkelPad\AkelPad.exe
HA3APET писал(а):приходится извращаться
Вот-вот.
Добавлено: Пт май 07, 2010 15:09
Andrey_A
Я бы лучше запросил возможность заносить два и более расширений [Extensions] в один ряд для одной программы
Я бы запросил добавление нескольких расширений (выделенных файлов) в ассоциации - по одному добавлять...
Добавлено: Пт май 07, 2010 16:29
Rodny
Andrey_A писал(а):Я бы запросил добавление нескольких расширений (выделенных файлов) в ассоциации - по одному добавлять...
Чего-чего?
Код: Выделить всё
[Associations]
Filter1=*.djv;*.djvu
Filter1_open=*
Filter1_WinDjView=D:\Programs\WinDjView\WinDjView.exe "%1"
Filter1_System=**
Добавлено: Пт май 07, 2010 16:37
Вахмурка
2
Rodny
Ты уверен, что хотел именно это написать:
Sustem
Добавлено: Пт май 07, 2010 17:10
Andrey_A
Rodny - это я знаю. Я имел ввиду другое. Когда вызываешь
команду cm_InternalAssociate -> Добавить - то высвечивается расширение файла под курсором. Хотелось бы то же самое для нескольких расширений выделенных файлов, т.е. к примеру я выделяю три файла
Wcmicons.inc
TcIgnore.txt
WinCmd.ini
нажимаю cm_InternalAssociate -> Добавить и появляется сразу три расширения
А по-поводу автоматизации переименования [Associations] в [-Associations] и обратно наверное нужен скрипт - я пытался скриптом "поиска и замены" - получается, но только две кнопки, а надо одну...
Добавлено: Пт май 07, 2010 17:23
Andrey_A
Ура! Получилось! Случайно вспомнил про скрипт от
Volniy который "Разворачивает окно Тотала на весь экран, при повторном нажатии возвращает в обычное состояние" немного добавил и получилось
Код: Выделить всё
' Переименование секции [Associations] в [-Associations] и обратно
' Кнопка вкл\выкл внутренних ассоциаций
Option Explicit
Dim FSO, F, Str1, Str2, Text, TCS
Set FSO = CreateObject("Scripting.FileSystemObject")
Set TCS = CreateObject("TCScript.Helper")
With WScript
F = "%COMMANDER_PATH%\WinCmd.ini"
Str1 = "[Associations]"
Str2 = "[-Associations]"
End With
F = FSO.GetAbsolutePathName(CreateObject("WScript.Shell").ExpandEnvironmentStrings(F))
If bCheck Then
Text = FSO.OpenTextFile(F, 1).ReadAll
Text = Replace(Text, Str2, Str1, 1, -1, 1)
FSO.OpenTextFile(F, 2).Write Text
Else
Text = FSO.OpenTextFile(F, 1).ReadAll
Text = Replace(Text, Str1, Str2, 1, -1, 1)
FSO.OpenTextFile(F, 2).Write Text
End If
Set TCS=Nothing
WScript.Quit
Function bCheck()
Dim sFile
sFile=WScript.ScriptFullName
bCheck=TCS.INIRead(sFile, "Ass", "Line", 0)
TCS.INIWrite sFile, "Ass", "Line", Not bCheck
End Function
[Ass]
Line =0
Если что подправите
Добавляю ещё
1. Назовите этот файл YesNoAssociations.vbs
2. Создайте .bat файл
Код: Выделить всё
start YesNoAssociations.vbs
start reloadtc.exe
reloadtc.exe - это утилита, которая перезагружает тотал (где я её взял - не знаю, если кто знает ссылку выложите для других). Или можно вместо неё использовать другую подобную, для перезагрузки.
3. Положите все эти три файла в одну папку и вперёд!
Добавлено: Пт май 07, 2010 17:39
Rodny
Andrey_A
Выделенные — это обязательное условие? У тебя же наверняка уже куча шаблонов поиска/фильтров напридумана. Можно ведь их там использовать.
Вахмурка
Бессонная ночь
Добавлено: Пт май 07, 2010 18:05
Andrey_A
Выделенные — это обязательное условие?
В принципе не обязательно, дело в том, что в ассоциациях я шаблонами не пользуюсь, у меня это дело автоматизировано и так проще удалять расширение, добавлять, тема
http://forum.wincmd.ru/viewtopic.php?t=13112
Но иногда хочется добавить группу файлов, приходится делать вручную...
Добавлено: Сб май 08, 2010 13:54
HA3APET
Andrey_A
Спасибо, скрипт работает. И в целом скрипт интересный, ко многому его можно применить.
Добавлено: Вс май 09, 2010 13:12
Flasher
Andrey_A
С обновлением иконок без перезапуска ничего сделать нельзя?