1

Тема: 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, у меня срабатывают оба варианта).

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder