Показать полную графическую версию : [решено] Утилита для перехода в заданный раздел реестра
Страниц :
1
2
3
4
5
6
7
8
[
9]
Morpheus
29-05-2012, 22:16
AZJIO, спасибо!
Параметр обязательно в кавычках - " »
А чего так? Вроде и без них замечательно работает.
Morpheus, всем известно что передаваемые в ком-строку параметры разделяются пробелами, если не обрамлены кавычками, соотвественно при выделении раздела в котором есть пробел у меня сразу же выдало ошибку, что раздела нет, так как часть его пути до пробела передалась. Для горячей клавиши это отношения не имеет.
перезалил добавив x64
Morpheus
29-05-2012, 23:56
AZJIO, а, тогда ок. Думал, что кавычки относятся к хоткеям.
Ctrl+F1 (удобные хоткеи заняты). Параметр обязательно в кавычках - " »
Командную строку не тестил, поскольку сторонних текстовых редакторов в хозяйстве не имеется.
Командную строку не тестил, поскольку сторонних текстовых редакторов в хозяйстве не имеется. » а зря, теже reg-файлы с подсветкой кода воспринимаются блоками, намного легче воспринимать чем однородный текст. Ну а с учётом, что меньше требуется телодвижений, то сейчас вызов по Alt+G переход к выделенной в редакторе сторке, кажется лучше и не придумать. Идеальней было бы эмулировать Ctrl+C (Ctrl+Insert), но пока не получилось.
Обновил JumpReg (http://u.to/abSc)
1. Задейсвовал всё-таки Send('^{INS}'), видимо не работал из-за горячей клавиши Alt, с Ctrl+1 без проблем. То есть достаточно выделить строку в редакторе / браузере и вызвать горячую клавишу.
2. Иногда в браузере захватывает лишний пробел, чтоб не напрягаться точным выделение текста добавил в игнор все пробельные символы начала и конца.
3. Добавил разворачивание последнего раздела, чтобы в дереве видеть существование вложенных разделов.
4. Теперь возможно выделить весь reg-файл или всю страницу браузера и горячей клавишей вызвать извлечение всех строк разделов реестра с предложением открыть первую или импортировать строки в раскрывающийся список.
Перезалил, оптимизировал импорт, при импорте из reg-файлов размером мегабайт отсутствует торможение поиска, так как ищутся только количество, которое может поместиться в раскрывающийся список. И исключение дублирующих из списка импорта.
Исправил ошибку переменной при обфускации.
Поправки:
1. При увеличении количества элементов в раскрывающемся списке отсутсвовало обновление списка при импорте строк из буфера, теперь работает.
2. Усложнил регулярное выражение. Не отлавливало пути содержащие пробел в последнем элементе пути
Суть регулярного выражения захватить строку начинающуюся с известных корневых разделов, например HKCU, далее набор повторяющихся групп заканчивающихся символом "\" чтобы не захватывать лишнее внутри группы допускаются не более 4 слов, то есть 4 группы заканчивающиеся пробелом. В каждой группе запрещены символы переноса строк. Последнее слово может либо содержать пробелы но оканчиваться концом строки, либо не содержать пробелов и обрываться при первом пробеле, то есть если нет конца строки, то обрывается по пробелу.
JumpReg (http://u.to/abSc) - тестовый вариант, который при первом запуске спрашивает где хранить настройки, в реестре или в ini-файле. Если ini-файл рядом с JumpReg.exe, то приоритет ini-файл, даже если настройки есть в реестре.
Кстати, раздел настроек в реестре поменялся. Список в комбобоксе теперь сохраняется только при выходе из программы.
AZJIO, заметил только сейчас, что на Seven x64 JumpReg запускает regedit 32bit и при физическом отсутствии искомой ветки не спрашивает перейти ли в ближайшую похожую а ломится куда попало.
Pozia, проверь, что версия последняя "0.8.1 2012.08.22", проверь в каком режиме прыжок "без сторонних утилит"?
И проверь отдельно работу функции
MsgBox(0, '', _RegExists('HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\MUICache'))
Func _RegExists($sKey)
RegRead($sKey, '')
Return Not (@error > 0)
EndFunc
Логически путь к разделу будет обрезаться пока раздел реестра не существует, и мимо цикла обрезки не пройти. Если только функция проверки существования работает неправильно. Она была заменена на более компактный и нативный вариант. Ошибки (>0) функции RegRead являются индикатором несуществования раздела и скорее всего более вероятней ожидать что функция посчитает существующий раздел несуществующим, чем несуществующий существующим. Уж не существующий 100% выдаст ошибку и будет обрезаться.
Пока предположений нет... И у меня нет Win7 x64.
AZJIO, перекачал из 167 сообщения - у меня была версия 0.8.0, хотя оттуда качал вроде. Тихо обновили что ли? ) На версии 0.8.1 все нормально.
Если еще что нужно проверить то не понял, что значит в каком режиме прыжок "без сторонних утилит"? »?
И как проверить отдельно функцию приведенную?
Pozia, Если теперь работает, то проверять нет смысла. Вставить несущестующий раздел реестра и проверить правильность результата, 0 - не существует, 1 - существует. В предыдущей версии эта функция была другая. То есть была оптимизация кода, но функциональность не изменялась, поэтому я и не отписывал (об ошибках в предыдущей версии ведь никто не сообщал ). В плане функционала добавилась поддержка сохранения в ini, но так как она была нужна только одному пользователю этой программы, то я и не афишировал для всех, просто потестировал пару недель и в виду стабильности UDF _Setting.au3 окончательно оставил.
Выбор "без сторонних утилит": "Главное меню программы > ? > Настройки", но уже не важно.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC