DeleteRegAkelpad.vbs - Удаление раздела Akelsoft из реестра
|
|
Andrey_A | Дата: Вторник, 20.05.2014, 09:48 | Сообщение № 1 |
Генералиссимус
На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
|
Удаление раздела Akelsoft из реестра
Доступно только для пользователей
|
|
| |
Andrey_A | Дата: Вторник, 20.05.2014, 09:54 | Сообщение № 2 |
Генералиссимус
На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
|
Не секрет что AkelPad и ряд скриптов оставляют записи в реестре, для удаления и создан этот скрипт. Чтобы автоматически при выходе удалялись раздел и все его записи, нужен 2-й скрипт, который: 1. Закрывал бы AkelPad 2. Запускал скрипт удаления раздела в реестре
Вот он)))
Закрывает AkelPad и запускает скрипт DeleteRegAkelpad.vbs
Доступно только для пользователей
Кнопка для запуска:
Код -"Выход с очисткой реестра от записей AkelPad" Call("Scripts::Main", 1, "ExitRunScriptRegDelete.vbs") Icon("%a\AkelPadImage.dll",388)
|
|
| |
Andrey_A | Дата: Суббота, 24.05.2014, 09:23 | Сообщение № 3 |
Генералиссимус
На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
|
Нашёлся ещё один вариант, скрипт который отслеживает закрытие программы и при выходе запускает то, что нам нужно в данном случае скрипт DeleteRegAkelpad.vbs
Для запуска вместе с AkelPad необходимо в AkelPad.ini в [Options] в ключе CmdLineBegin прописать: Код CmdLineBegin= /Call("Scripts::Main", 1, "ExitRun.vbs")
Выполняет запуск приложений по закрытию AkelPad
Доступно только для пользователей
|
|
| |
LonerD | Дата: Воскресенье, 19.10.2014, 18:33 | Сообщение № 4 |
|
Полезно. Но в одном случае простым Alt+F4 не закрыть программу, в другом случае - с самого запуска лишний скрипт висит в автозагрузке. А через ключ CmdLineEnd не получится оформить очистку? Или Акелпад сорит в реестре уже после того как отработает этот ключ? Что если приведённый выше скрипт DeleteRegAkelpad.vbs запускать через CmdLineEnd ?
DreamLair.net
|
|
| |
Andrey_A | Дата: Воскресенье, 19.10.2014, 22:39 | Сообщение № 5 |
Генералиссимус
На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
|
Этот скрипт просто костыль. У меня прописан для теста, но чем больше я им пользуюсь, тем больше он мне не нравится -а именно все шаблоны поисков теряются при выключении или перезагрузке - одно дело для портабельности, другое дело для себя. Просили много раз автора AkelPad сделать записи не через реестр, а через файл... но ответа я не видел А тестировать то, чего нет и смысла не имеет.
|
|
| |
LonerD | Дата: Понедельник, 20.10.2014, 05:51 | Сообщение № 6 |
|
А вариант по аналогии с PortableApps не сработает? (только без внешнего ланчера) При закрытии Акелпада запускаем скрипт, прописанный в CmdLineEnd - все записи реестра экспортируем в reg-файл. При открытии Акелпада запускаем скрипт, прописанный в CmdLineBegin и импортируем эти записи реестра. Только я не знаю на каком этапе срабатывают эти ключи - до чтения/записи реестра или после.
DreamLair.net
|
|
| |
Andrey_A | Дата: Понедельник, 20.10.2014, 14:05 | Сообщение № 7 |
Генералиссимус
На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
|
Код При закрытии Акелпада запускаем скрипт, прописанный в CmdLineEnd ключ CmdLineEnd не работает при закрытии - этот ключ работает при запуске, после открытия всех вкладок, попробуй: Код CmdLineEnd=/Call("Scripts::Main", 1, "InsertDate.js", "") /C /B /L
В акеле нет ключа, который отрабатывал бы при закрытии, поэтому и сделан этот скрипт.
Для сохранения информации можно попробовать в этот скрипт добавить сохранение и написать ещё один для возврата.
|
|
| |
Andrey_A | Дата: Вторник, 21.10.2014, 21:10 | Сообщение № 8 |
Генералиссимус
На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
|
Ниже прилагаются 2 скрипта:
1. изменённый DeleteRegAkelpad.vbs при закрытии AkelPad он сначала экспортирует ветку реестра в файл: Код ...\AkelFiles\Regs\BackupAkelReg.reg а затем удаляет раздел (для этого необходим скрипт ExitRun.vbs - Выполняет запуск приложений по закрытию AkelPad)
2. ImportRegistryAkelPad.vbs - при запуске AkelPad импортирует из файла BackupAkelReg.reg
Необходимо их прописать в AkelPad.ini в секции [Options] в ключе CmdLineBegin
у меня в AkelPad Image запись такая:
Код CmdLineBegin=/Exec(`"%%WINDIR%\System32%\wscript.exe" "%a\AkelFiles\Plugs\Scripts\ImportRegAkelPad.vbs"`) /Call("Scripts::Main", 1, "LineBoardRClickPanel.js","LINEBOARDBOOKMARKS") /Call("Scripts::Main", 1, "SwitchingRuler.vbs", `"0" "1"`) /Call("Scripts::Main", 1, "ExitRun.vbs") /Call("Scripts::Main", 1, "RunExitSpecChar.vbs")
Так что вроде обошлись без лаунчеров - все сохраняется и восстанавливается, хотя могут быть нюансы - тестировать надо...
[plus] А нюансы уже выявились - это хорошо работает при закрытии и через какое-то время открытии, но если мне нужно быстро перезапустить акел с помощью утилиты или скрипта, к примеру:
Код -"Рестарт AkelPad" Call("Scripts::Main", 1, "TCIMG.vbs", `"resrt=#akelname#||1"`) Icon("%a\AkelPadImage.dll",45)
То это все не успеет сработать... пока не придумал как обойти это... [/plus]
|
|
| |
Andrey_A | Дата: Вторник, 21.10.2014, 21:11 | Сообщение № 9 |
Генералиссимус
На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
|
Экспорт раздела реестра Akelsoft и удаление раздела из реестра
Доступно только для пользователей
|
|
| |
Andrey_A | Дата: Вторник, 21.10.2014, 21:13 | Сообщение № 10 |
Генералиссимус
На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
|
Импорт ветки реестра раздела Akelsoft из файла
Доступно только для пользователей
|
|
| |
Andrey_A | Дата: Вторник, 21.10.2014, 23:21 | Сообщение № 11 |
Генералиссимус
На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
|
Спустя 2 часа))) придумал. Пришлось изменить все 3 скрипта: Выкладываю их отдельно, чтобы была возможность вернуться к прежним версия (если что)
1. ExitRun.vbs + Добавлена передача в скрипт DeleteRegAkelpad.vbs имени программы AkelPad.exe Этим решается проблема, когда переименовывают exe'шник
2. DeleteRegAkelpad.vbs + Добавлена пауза - по умолчанию скрипт начинает работать через 10 секунд + Добавлена проверка: если процесс AkelPad.exe существует, то ничего не делается (не создается бэкап раздела и не удаляется сам раздел) Этим решается проблема быстрой перезагрузки программы
3. ImportRegAkelPad.vbs + Добавлена проверка: если раздел существует, то НЕ производится импорт Этим решается проблема быстрой перезагрузки программы, когда нужно сохранить все шаблоны поиска (которые акел прописывает в реестре)...
Т.е. если пользователь точно вышел из AkelPad, то через 10 сек. сохраняется раздел реестра и удаляется, при запуске AkelPad сохранённый раздел вносится в реестр...
Если же пользователю необходимо перезагрузить быстро сессию..., то всё остаётся как есть
Всем этим я надеюсь, что исчерпывающе решается задача портабельности и сохранения настроек реестра...
|
|
| |
Andrey_A | Дата: Вторник, 21.10.2014, 23:22 | Сообщение № 12 |
Генералиссимус
На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
|
Выполняет запуск приложений по закрытию AkelPad
Доступно только для пользователей
|
|
| |
Andrey_A | Дата: Вторник, 21.10.2014, 23:23 | Сообщение № 13 |
Генералиссимус
На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
|
Экспорт раздела реестра Akelsoft и удаление раздела из реестра
Доступно только для пользователей
|
|
| |
Andrey_A | Дата: Вторник, 21.10.2014, 23:24 | Сообщение № 14 |
Генералиссимус
На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
|
Импорт ветки реестра раздела Akelsoft из файла
Доступно только для пользователей
|
|
| |
LonerD | Дата: Четверг, 30.10.2014, 04:09 | Сообщение № 15 |
|
Попробовал, понравилось. Буду тестировать дальше. Нашёл маленькую оплошность - в сборку Image один файл не попал :--( Возникла идея (не знаю, насколько она реализуема и реально ли оно нужно): после экспорта в reg-файле заменять пути к файлам, находящимся на одном диске с Акелпадом (причём даже не обязательно в каталоге с Акелпадом - можно ведь определить букву диска) на относительные. Смысл в том, что рабочие файлы переносятся на флешке или внешнем жёстком диске, который при подключении на разных компьютерах имеет разные буквы дисков.
DreamLair.net
|
|
| |