KnigaRead.com/

Александр Климов - Реестр Windows 7

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Александр Климов, "Реестр Windows 7" бесплатно, без регистрации.
Перейти на страницу:

Для добавления новой команды в контекстное меню, достаточно создать в разделе HKCRDirectoryBackgroundShell новый подраздел. Предположим, мы хотим, чтобы в меню появилась команда, запускающая стандартный Блокнот. Создаем подраздел notepad и сразу можем проверить и убедиться, что в контекстном меню Рабочего стола появилась одноименная команда.

Естественно, такая команда не очень нас устраивает, и мы хотим задать собственный текст, например Блокнотик.

Для этого редактируем параметр по умолчанию созданного подраздела и записываем для него новое значение, которое мы хотим видеть, например, прописываем слово «Блокнотик» (рис. 4.24).

Рис. 4.24. Новый раздел реестра для добавления команды в контекстное меню

Проверяем и убеждаемся, что в контекстном меню появилась команда Блокнотик (рис. 4.25). Пункт меню мы добавили, но щелчок по нему пока ни к чему полезному не приводит. Для того чтобы новый пункт меню не только отображался, но и работал, нам понадобится настроить еще некоторые параметры.

Рис. 4.25. Новый пункт меню

Подраздел notepad может содержать в себе другие подразделы и различные параметры строкового типа. Сначала рассмотрим параметры. Мы уже знаем, что параметр по умолчанию определяет название команды. Также можно использовать следующие параметры:

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

► Extended – наличие данного параметра без значения говорит системе о том, что команда должна отображаться только при нажатии клавиши Shift . Вы можете посмотреть на подраздел HKCRDirectoryBackgroundshellcmd , в котором содержится такой параметр. Поэтому, если держать нажатой клавишу Shift , в контекстном меню появится команда Открыть окно команд .

► LegacyDisable – присутствие данного параметра запрещает отображение в контекстном меню создаваемой команды. Правда, тогда не понятно, зачем вообще создавать команду, если ее не нужно выводить на экран.

► ProgrammaticAccessOnly – присутствие данного параметра так же запрещает отображение в контекстном меню создаваемой команды, разрешая только программный доступ к ней.

► NoWorkingDirectory – наличие данного параметра говорит о том, что при работе программы (если команда контекстного меню запускает программу) не нужно указывать рабочий каталог программы.

Теперь перейдем к подразделам. Прежде всего, нужно создать подраздел command . Параметр по умолчанию данного подраздела должен содержать в себе команду, которая будет выполняться при выборе соответствующего элемента контекстного меню. В нашем случае нужно прописать команду notepad.exe (рис.4.26).

Рис. 4.26. Настройки в реестре для новой команды

Как видите, несколько несложных операций в реестре – и мы получаем новую команду для контекстного меню Рабочего стола и Проводника. А зная алгоритм создания новой команды, вы можете изучить и отредактировать параметры других программ, которые вы прописали в операционной системе.

Включение/выключения эскизов

Рассмотрим практический пример создания собственной команды в меню Проводника.

Если вы предпочитаете просматривать файлы в режиме Значки, то заметили, что, например, значки картинок отображаются в виде эскизов. В настройках папки можно изменить данное поведение и отключить показ эскизов.

Включать или отключать эти настройки очень утомительно. Судите сами – сначала надо нажать клавишу Alt , чтобы появилась строка меню у Проводника, далее выбираем меню Сервис ► Параметры папок... . Теперь нужно переключиться на вкладку Вид и поставить или убрать флажок у команды Всегда отображать значки, а не эскизы . Упростим задачу при помощи реестра и небольшого VBS-сценария, который циклически меняет значения параметра IconsOnly в разделе HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced .

Создадим новый раздел ToggleThumb в разделе HKCU SoftwareClassesDirectoryBackgroundShell и присвоим параметру по умолчанию строковое значение Включить/ Выключить эскизы . Тем самым мы создали новую команду для контекстного меню папки в Проводнике. Обратите внимание, что теперь мы используем раздел HKCU , чтобы действие примера распространялось только на одного пользователя.

В только что созданном подразделе ToggleThumb cоздаем подраздел command и прописываем в параметре по умолчанию строку wscript.exe «%WinDir%togglethumbs.vbs» (рис. 4.27).

Рис. 4.27. Настройка для выполнения сценария

Теперь создадим сценарий, который будет переключать режим показа эскизов.

Листинг 4.1. Сценарий для включения и выключения эскизов

Set WscripthShell = CreateObject(«WScript.Shell»)

strRegPath = «HKCUSoftwareMicrosoftWindowsCurrentVersion ExplorerAdvancedIconsOnly»

strParIconsOnly = WscripthShell.RegRead(strRegPath)

If strParIconsOnly = 0 Then

scripthShell.RegWrite strRegPath,1,"REG_DWORD"

Else

scripthShell.RegWrite strRegPath,0,"REG_DWORD"

End If

WscripthShell.SendKeys «{F5}»

Сохраните сценарий под именем togglethumbs.vbs и скопируйте его в папку Windows.

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

Далее я выбрал в контекстном меню пункт Включить/Выключить эскизы и получил следующий результат – вместо эскизов я увидел значки программы Adobe Photoshop, ознакомительную версию которой я поставил несколько дней назад на своем компьютере (рис.4.29).

Рис. 4.28. Отображение файлов в виде эскизов

Рис. 4.29. Отображение файлов в виде значков

...

ПРИМЕЧАНИЕ: ДОПОЛНИТЕЛЬНЫЕ ФАЙЛЫ

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

ToggleThumbsInstall reg – для добавления в реестр раздела, реализующего пункт меню Включить/выключить экскизы.

togglethumbs vbs – файл скрипта, который нужно скопировать в папку C:Windows для корректной работы примера.

Их вы можете найти в папке Ch4 в архиве togglethumb zip.

Добавление в контекстное меню Проводника и Рабочего стола команд, основанных на ActiveX

Существует еще один способ создания команд для контекстного меню, основанный на использовании объектов ActiveX.

Информация о командах контекстного меню, основанных на ActiveX-объектах, хранится в разделе реестра HKCRDirectoryBackgroundShellExContextMenuHandlers .

Для создания новой команды нужно создать подраздел с произвольным именем и в параметре по умолчанию указать CLSID ActiveX-объекта.

Если вы откроете редактор реестра, то в разделе HKCRDirectoryBackgroundShellExContextMenuHandlers увидите уже существующие подразделы.

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

Рис. 4.30. Параметр, реализующий ActiveX-элемент контекстного меню

...

ПРИМЕЧАНИЕ

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

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

Таблица 4.3. CLSID для добавления новых команд в контекстное меню (возможно добавление лишь одной из этих команд)

А вот несколько команд, которые не конфликтуют с другими:

Таблица 4.4. CLSID для добавления новых команд в контекстное меню

Добавляем Windows Media Center в меню автозапуска в Windows 7

В Windows 7 меню автозапуска не предоставляет возможности воспроизведения мультимедиа в Windows Media Center. Вы не найдете такого пункта и в настройках параметров автозапуска в панели управления.

...

БЛАГОДАРНОСТь

Автор книги выражает благодарность Павлу Кравченко (http://pavelmvp spaces live com/) за помощь в подготовке данного раздела.

По умолчанию Windows 7 не содержит записей в реестре, которые необходимы для возможности выбрать воспроизведение в Windows Media Center. Но вы можете самостоятельно добавить необходимые вам записи или экспортировать их с компьютера под управлением Windows Vista. Параметры, отвечающие за пункты диалогового окна автозапуска, содержатся в разделе: HKLMSOFTWAREMicrosoftWindowsCurrentVersionexplorerAutoplayHandlers .

...

ПРИМЕЧАНИЕ: ДОПОЛНИТЕЛЬНЫЕ ФАЙЛЫ

Для того чтобы добавить в меню автозапуска возможность воспроизведения мультимедиа в Windows Media Center, импортируйте в реестр файл w7 mediacenter to autoplay reg.

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*