Тема: AHK: Навигация в редакторе реестра regedit.exe
Скрипт предоставляет возможность сразу же перейти к нужной ветке реестра в редакторе regedit.exe, минуя последовательный переход от вышележащих разделов.
Работа со скриптом. Запускаем скрипт, копируем путь к нужному разделу в буфер обмена, нажимаем горячую клавишу Ctrl + Alt + R, и редактор реестра открывается в заданном месте. Корневые разделы (HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CURRENT_USER, HKEY_CLASSES_ROOT, HKEY_CURRENT_CONFIG) могут быть указаны в виде аббревиатур (HKLM, HKU, HKCU, HKCR, HKCC).
LongRoot = HKEY_LOCAL_MACHINE,HKEY_USERS,HKEY_CURRENT_USER
,HKEY_CLASSES_ROOT,HKEY_CURRENT_CONFIG
StringSplit, Long, LongRoot, `,
ShortRoot = HKLM,HKU,HKCU,HKCR,HKCC
StringSplit, Short, ShortRoot, `,
Return
^!vk52:: ; Ctrl + Alt + R
Process, Exist, Regedit.exe
if ErrorLevel
Process, Close, Regedit.exe
IsRoot =
if Clipboard =
{
MsgBox, В буфере обмена нет текста!
Return
}
Root := RegExReplace(Clipboard, "(.*?)\\.*", "$1")
Loop 5
{
if (Root = Short%A_Index%)
Clipboard := RegExReplace(Clipboard, "^" Short%A_Index%, Long%A_Index%)
if (Root = Long%A_Index% || Root = Short%A_Index%)
IsRoot = 1
}
if !IsRoot
{
MsgBox, В строке несуществующий корень реестра!
Return
}
Clipboard := RegExReplace(Clipboard, "^HKEY_USERS", "My computer\HKEY_USERS")
RegWrite, REG_SZ, HKCU, Software\Microsoft\Windows\CurrentVersion\Applets\Regedit
, LastKey, % Clipboard ; если будет записан несуществующий путь, Regedit откроется в корне
Run, Regedit
Принцип работы скрипта. Редактор реестра обычно открывается на том разделе, на котором был закрыт в предыдущее использование. Путь к этому разделу сохраняется в ключе LastKey ветки HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit. Чтобы заставить редактор открыться там, где нам нужно, достаточно заменить значение этого ключа.
У кого есть возможность, проверьте работоспособность, особенно меня интересуют ветки с корнем HKEY_USERS, т. к. они записываются по-другому (My computer\HKEY_USERS или Мой компьютер\HKEY_USERS, у меня срабатывают оба варианта).