на главную | войти | регистрация | DMCA | контакты | справка | donate |      

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я


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




Системный реестр в 64-битной версии Windows

Проблема в том, что 64-битное программное обеспечение с трудом удается совместить с 32-битным; это вызывает необходимость существования двух реестров, чтобы эти биты находились подальше друг от друга. Поскольку иметь два независимых реестра непрактично, разделяются лишь некоторые разделы и ветви. Сопоставления типов файлов, например, общие для обоих слоев2, поэтому вы можете один раз связать .txt-документы с любимым текстовым редактором, и эти связи будут работать и в 32-битной, и в 64-битной версиях Windows.

Но в то же время 64-битная программа не может обратиться к 32-битной DLL. Часть реестра, управляющая DLL и другими компонентами, будет для каждого слоя Windows отдельной. Таким образом, например, 64-битные версии Проводника и Internet Explorer недоступны для 32-битных DLL, и наоборот.

#*V Из-за такого разделения классов программного обеспечения приходится запускать

32-' дополнения контекстного меню для работы с 64-битной версией Проводника,

Как правило, такой раздвоенный дизайн не требует от вас дополнительных усилий. Каждое из 32-битных приложений видит только те разделы реестра, которые оно должно видеть, а все 64-битные приложения видят только 64-битный реестр. Дополнительные усилия понадобятся только в тех случаях, когда двойственность реестра становится помехой для ежедневного неавторизованного доступа или вас начинают раздражать надоедливые предупреждения.

Редактор реестра включает специальную ветвь Wow6432Node, позволяющую получить доступ к 32-битным записям из того же окна, что и к 64-битным. В Windows 7 по умолчанию существует три таких «узла»:

НК EY_C LASS ES_ROOT\Wow6432Node3

HKEY_CURRENT_USER\Software\Wow6432Node

HKEY_L0CAL_MACHINE\S0FTWARE\Wow6432Node

Например, вы захотели изменить настройки реестра для Adobe Photoshop. Для 64-битной версии Photoshop вы перейдете к

HKEY_CURRENT_USER\Software\Adobe\Photoshop

а для 32-битной версии — к ветви

HKEY_CURRENT_USER\Software\Wow6432Node\Adobe\Photoshop

Так как 32- и 64-битные классы (компоненты программного обеспечения) не являются взаимосочетаемыми, то 64-битные классы регистрируются в ветви

HKEY_CLASSES_ROOT\CLSID\{class_id}

а 32-битные классы — в ветви

HKEY_CLASSES_R00T\Wow6432Node\CLSID\{class_id)

Можно использовать и 32-битную версию редактора реестра (%systemroot%\ syswow64\regedit.exe), хотя много пользы вы из этого не извлечете. При запуске regedit.exe добавьте параметр командной строки -т, тогда 32-битная и 64-битная версии редактора откроются одновременно.


предыдущая глава | Хитрости Windows 7. Для профессионалов | Задачи и инструменты реестра