Переход в нужный раздел реестра одним щелчком мыши

В своих статьях я довольно часто пишу «перейдите в раздел реестра HKEY_что-то_там», и это подчас утомительное путешествие (особенно когда требуется попасть в раздел идентификатора класса какого-нибудь ActiveX). Поэтому я хочу поделиться с вами решением, максимально упрощающим переход в раздел реестра до двух действий: копируете в буфер обмена путь к реестре - щелчок мыши - и вы на месте.

Немного теории

Редактор реестра (regedit.exe), начиная с Windows 2000, обладает одной полезной особенностью: он «запоминает» последний раздел, который был открыт в нем до того, как пользователь закрыл программу. Полный путь к этому разделу пишется в параметр Lastkey строкового типа в ключе

HKEY_Current_User\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit

Для нашей задачи можно (и удобно) воспользоваться этой возможностью. Если заранее записать туда путь, который нам нужен в данный момент, то открыв редактор реестра, никуда переходить не потребуется.

А теперь перейдём к реализации задуманного.

Совет: В Windows 10 можно обойтись без скриптов и программ. Редактор реестра в Windows 10 получил адресную строку, в которую можно вставить скопированный путь к тому или иному разделу реестра, и нажать Enter.

Способ для Windows 10

  1. Нажмите Win + R и введите regedit в поле «Выполнить».
  2. Щелкните в любом месте его адресной строки или нажмите Ctrl + L, чтобы её активировать.
  3. Напечатайте или вставьте путь к ключу, который нужно открыть. Open Registry Key Directly Windows 10

Для имен корневых разделов HKEY_ * можно использовать сокращенную запись. Сокращения таковы:
HKEY_CURRENT_USER = HKCU
HKEY_CLASSES_ROOT = HKCR
HKEY_LOCAL_MACHINE = HKLM
HKEY_USERS = HKU

Например, когда вам нужно перейти к разделу HKEY_CURRENT_USER\Control Panel\Desktop, вы можете ввести в адресной строке следующее:

hkcu\control panel\desktop

После того, как вы нажмете клавишу Enter, будет открыт раздел HKEY_CURRENT_USER \ Control Panel \ Desktop.

Как перейти в нужный раздел реестра одним щелчком мыши

Я набросал простенький скрипт, который будет получать содержимое буфера обмена, записывает его в реестр и открывает редактор реестра. Предполагается следующий сценарий:

Вы читаете статью, в ней написано – «перейдите в раздел реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion». Вы выделяете путь к разделу на странице, нажимаете CTRL+С и запускаете скрипт. Редактор реестра открывается в нужном месте.

В качестве средства автоматизации я использую возможности Windows Scripting Host (WHS), а в качестве  языка программирования - VBScript.

Буфер обмена

Получение содержимого буфера обмена испокон веков делается через Internet Explorer. Вот так, например, делают авторы блогов Microsoft TechNet:

Dim objIE
Dim сClipBoard
Set objIE = CreateObject("InternetExplorer.Application")
сClipBoard = objIE.document.parentwindow.clipboardData.GetData("text")
objIE.Quit

Код создает экземпляр объекта IE и через его методы выдёргивает содержимое буфера обмена в переменную сClipBoard. Код не лишен недостатков. Во-первых, он требует наличие IE, во-вторых – появляется дурацкое подтверждение прав доступа страницы к буферу обмена (в IE9+Windows 7, во всяком случае). Да и на создание экземпляра IE уходит приличное время, и скрипт явно "тормозит" Мы пойдем другим путем. Мы создадим экземпляр не IE, а HTA-файла. Он не задает вопросов и работает на порядок быстрее. А код будет почти таким же:

set objHTA=createobject("htmlfile")
cClipBoard=objHTA.parentwindow.clipboarddata.getdata("text")

Отличное решение.

Работа с реестром

Необходимыми методами для работы с реестром снабжен объект WScript.Shell. В частности, нас интересует метод RegWrite. Синтаксис смотрим, опять-таки, на MSDN. В нашем случае мы должны перезаписать значение параметра LastKey в разделе [code]HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit[/code] Для этого допишем в скрипт следующее:

Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit\LastKey", сClipBoard, "REG_SZ"

Полагаю, здесь ничего сложного нет.
В итоге скрипт получится таким:

Dim objHTA
Dim cClipBoard
Dim WshShell
set objHTA=createobject("htmlfile")
cClipBoard=objHTA.parentwindow.clipboarddata.getdata("text")
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit\LastKey", cClipBoard, "REG_SZ"
WshShell.Run "regedit.exe -m"
Set objHTA = nothing
Set WshShell = nothing

Сам редактор реестра запускается командой regedit.exe -m, позволяющей открыть редактор реестра в нескольких экземплярах (подробнее о ключах командной строки редактора реестра можно почитать здесь). Сохраняем код скрипта, предположим, в файл d:\regnav.vbs. Осталось создать ярлык на запуск скрипта с командой вида[code]wscript d:\regnav.vbs[/code]

Проверка работоспособности

Выделяем вот эту строку:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon

Нажимаем CTRL+C и запускаем. Не правда ли, удобно? Примечание. Раздел, к которому вы переходите посредством копирования в буфер обмена пути в реестре, должен существовать, в противном случае редактор реестра откроется в корне.

Кроме того, есть и другие способы быстро перейти в раздел реестра.

Приложение Winaero Tweaker

Если вы являетесь пользователем моей программы Winaero Tweaker, начиная с версии 0.8 позволяет открыть ключ реестра одним кликом.

Winaero Tweaker Open Registry Key

Как только вы откроете эту страницу в Winaero Tweaker, она попытается извлечь путь к ключу реестра из буфера обмена, чтобы сэкономить ваше время. Кроме того, если путь не существует, утилита откроет ближайший существующий раздел по указанному пути.

Например, вы указали

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Explorer

Ключ Explorer по умолчанию не существует в реестре, поэтому утилита откроет HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows.

Скачать Winaero Tweaker

Программа RegistryOwnershipEx

Ещё одно из моих приложений, RegistryOwnershipEx, тоже позволяет быстро перейти в нужный раздел реестра.

Некоторое время назад я создал утилиту RegOwnershipEx, которая позволяет получить полный доступ к разделу реестра одним кликом. Кроме этого, она позволяет перейти в желаемый раздел реестра. RegOwnershipEx 1.0.0.1

Она также может извлечь любой путь реестра из буфера обмена Windows. Если вы запустите программу с аргументом командной строки /j, то есть regownershipex.exe /j, она извлечет путь к ключу реестра из буфера обмена и напрямую откроет редактор реестра в нужном месте.

Скачать RegOwnershipEx

С помощью RegJump

RegJump - отличный инструмент от Windows Sysinternals, который существует очень давно. Он автоматически запускает редактор реестра и переходит по указанному пути реестра. Путь реестра необходимо указать как параметр командной строки для RegJump.

Чтобы редактор реестра открывал ветку HKEY_LOCAL_MACHINE \ Software \ Microsoft напрямую, вы должны использовать эту команду:

regjump.exe HKLM\Software\Microsoft\Windows

RegJump поддерживает опцию командной строки -c, которая указывает программе извлечь путь реестра, хранящийся в буфере обмена. Это позволяет быстро открыть нужный раздел.

Вы можете создать ярлык для запуска приложения с ключом -c, поэтому после копирования пути к ключу реестра просто щелкните созданный ярлык, и это откроет Regedit.exe по нужному ключу.

Помимо Windows 10, RegJump также работает в Windows 7 и Windows 8.


Была ли эта информация для вас полезной? Возможно, у вас есть более простое и эффективное решение? Расскажите об этом в комментариях!

💡Узнавайте о новых статьях быстрее. Подпишитесь на наши каналы в Telegram и Twitter.

Судя по тому, что вы читаете этот текст, вы дочитали эту статью до конца. Если она вам понравилась, поделитесь, пожалуйста, с помощью кнопок ниже. Спасибо за вашу поддержку!

Автор: Сергей Ткаченко

Сергей Ткаченко создал этот сайт в далёком 2009 году, и с тех пор продолжает над ним работать, публикуя новые материалы о Windows и её приложениях практически каждый день.

Переход в нужный раздел реестра одним щелчком мыши: 10 комментариев

  1. Пожалуйста. Мне он приличное количество времени сэкономил

  2. И мне… и мне… и больше 2-х в одни руки не давать! Оч полезная штука, благодарствую!

  3. Вот чем меня бесит «этот вордпресс» писал, старался, комментарий, но забыл заполнить имя и мыло (бывает), отправил — получил ошибку — вернулся… и всё пропало, второй раз писать желание не возникло 🙁

    а ведь комментарий был о том, что копирование в буфер выделенного пути к реестру и указанный скрипт можно добавить в контекстное меню, что я у себя и сделал

  4. ЁжЫГ :
    …а ведь комментарий был о том, что копирование в буфер выделенного пути к реестру и указанный скрипт можно добавить в контекстное меню, что я у себя и сделал

    Уважаемый, а может Вы поборете некую толику природной лени и выложите на суд сообщества свой вариант? Уверен, многим было бы интересно оценить и, возможно, применить именно его.

  5. Способ очень понравился. Спасибо!
    Возник вопрос: можно ли в скрипте изменить запуск приложения Regedit на другой редактор реестра, например Registry Workshop или аналогичный? если можно, то растолкуйте, как это сделать.

    1. Я пользуюсь только стандартным редактором реестра. Вряд ли я вам буду полезен, ибо указанных вами приложений я в глаза не видел.

  6. Я снова стащил скрипт, как и год назад. Вопреки ожиданиям скрипт на Windows8 работает. Чтобы посодействовать поглощению пиара, добавлю, что достаточно
    лишь сохранить скопированный скрипт, и никаких ярлыков не создавать. Далее, выделив путь, копируем его, но вместо вставки щёлкаем по сохранённому документу на его
    запуск. Запускается редактор реестра, открытый с разделом, указанным в скопированном
    пути. Этот рекорд по краткости побить не удастся. Всем лентяям привет.

    1. Анатолий, я рад вас снова видеть. Ваши витиеватые комментарии ничто не заменит 🙂

  7. Есть еще regjump из sysinernals utils. Тоже просто:
    regjump "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"
    еще и сам запустит regedit
    Т.к. на утилите подпись Microsoft, то обычный антивирус не посчитает этот файл опасным.

Обсуждение закрыто.

css.php