Категории
Самые читаемые
PochitayKnigi » Компьютеры и Интернет » Программное обеспечение » Недокументированные и малоизвестные возможности Windows XP - Роман Клименко

Недокументированные и малоизвестные возможности Windows XP - Роман Клименко

Читать онлайн Недокументированные и малоизвестные возможности Windows XP - Роман Клименко

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 11 12 13 14 15 16 17 18 19 ... 100
Перейти на страницу:

Рассмотрим наиболее интересные параметры реестра. Первым корневым разделом, структура которого будет описана, станет раздел HKEY_CLASSES_ROOT. Хотя, если быть точным, содержимое этого раздела строится на основе двух ветвей других корневых разделов: HKEY_LOCAL_MACHINESOFTWAREClasses и HKEY_CURRENT_USERSoftwareClasses. Первая ветвь реестра включает в себя информацию о расширениях файлов, используемую всеми пользователями компьютера для построения карты расширений. Вторая ветвь содержит информацию о расширениях, которые либо используются только текущим пользователем, либо переопределяют собой информацию из ветви корневого раздела HKEY_LOCAL_ MACHINE. Иначе говоря, если информация о каком-нибудь расширении содержится как в корневом разделе HKEY_LOCAL_MACHINE, так и в HKEY_CURRENT_USER, то сведения из этих ветвей будут объединяться. При этом сведения из ветви HKEY_CURRENT_USER будут заменять собой сведения из ветви HKEY_LOCAL_MACHINE.

Корневой раздел HKEY_CLASSES_ROOT имеет более-менее статичную структуру. Если остальные корневые разделы могут хранить любую информацию, какую только захотят поместить в них программисты (любое название параметра и любой путь, ведущий к этому параметру), то HKEY_CLASSES_ROOT содержит параметры, названия которых не зависят от прихотей программистов, разрабатывающих соответствующее расширение файла или ActiveX-объект.

Как уже говорилось выше, корневой раздел HKEY_CLASSES_ROOT включает в себя всю информацию о расширениях файлов, которые зарегистрированы в вашей системе, а также описывает те действия, которые вы можете выполнить с файлами данного расширения (команды контекстного меню). Ветвь также содержит сведения обо всех зарегистрированных в системе ActiveX-компонентах, но о них будет рассказано чуть позже, а сейчас разберемся с хранением сведений о расширениях файлов. 

Расширения файлов

Есть два способа хранения в реестре информации о расширении файлов — правильный и не очень. Второй применялся в старых версиях операционной системы Windows, хотя поддерживается и Windows XP. При его использовании все параметры и дочерние подразделы записываются в один раздел HKEY_CLASSES_ROOT. Таким образом, все то, что будет рассмотрено далее в этом разделе, при использовании неправильного способа хранения будет содержаться в одном подразделе корневого раздела HKEY_CLASSES_ROOT. Правильный же способ хранения параметров расширения файла определяет для их хранения два раздела. Первый из них назван в честь расширения файла, например, для файлов с расширением TXT он будет называться .txt. Этот раздел еще называют разделом расширения. Он практически ничего интересного не содержит, но зато в параметре (По умолчанию) находится название второго раздела. Вот этот раздел реестра как раз и включает в себя всю интересную и увлекательную информацию о расширении. Он еще называется разделом идентификатора.

Рис. 4.1. Разделы описания расширения файла

В книге будут описываться параметры и дочерние разделы, используемые в регистрации расширения с помощью правильного способа. Но сначала посмотрите на рис. 4.1. Он иллюстрирует правильный способ хранения информации для файлов с расширением TXT.

Раздел расширения

Как уже говорилось, раздел расширения включает в себя параметр (По умолчанию), значение которого определяет название раздела идентификатора, описывающего данное расширение. Но, кроме этого параметра, раздел расширения может содержать еще несколько параметров строкового типа.

■ Content Type — определяет тип расширения MIME, который ассоциирован с файлами соответствующего расширения. Те, кто занимался веб-программированием, конечно знают, что такое MIME. Именно строка MIME используется браузером для определения того, что же ему нужно делать с соответствующим расширением (то ли открыть, то ли воспроизвести, то ли еще что-нибудь).

На рис. 4.1 видно, что текстовые файлы (TXT) используют расширение text/plain, которое определяет содержимое данных файлов как неформатированный текст.

■ PerceivedType — говорит системе о том, в каком виде хранится информация с соответствующим расширением. Этот параметр может принимать такие значения: Text, Image, Audio, Video, System, Compressed.

■ Generic — если значение равно System, то файлы с соответствующим расширением являются собственностью системы и сведения о них лучше не удалять.

■ NoOpen — применяется только в том случае, когда параметр (По умолчанию) раздела расширения не имеет никакого значения. Если данный параметр присутствует, то при попытке открытия соответствующего файла перед отображением диалога Открыть с помощью будет выводиться диалог Внимание, с сообщением о том, что файлы с данным расширением используются системой и их лучше не открывать.

Данный раздел может содержать подразделы. Например, в нем может храниться подраздел ShellNew, который определяет команды в списке Создать контекстного меню Рабочего стола или Проводника. Иначе говоря, если раздел расширения включает в себя этот подраздел (при этом в нем должен находиться один из описанных ниже параметров), то в списке Создать появится пункт, с помощью которого можно будет создать файл с соответствующим расширением.

Как сказано выше, подраздел ShellNew должен содержать определенный параметр. Этот параметр как раз и определяет, что именно система должна сделать после того, как пользователь выбрал соответствующую команду меню Создать. Рассмотрим возможные параметры (в подразделе ShellNew должен находиться только один из этих параметров).

■ Command — этот параметр строкового типа определяет команду, которая будет выполняться при выборе соответствующего пункта меню Создать.

■ NullFile — данный строковый параметр вообще не должен содержать никакого значения (при этом после выбора создания соответствующего расширения будет создаваться пустой файл).

■ FileName — этот параметр строкового типа определяет путь и имя файла, который будет создаваться (просто копироваться в текущую папку) после выбора соответствующей команды меню Создать. При этом если файл находится в каталоге, определяемом содержимым параметра строкового типа Templates, расположенного в ветви реестра HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerShellFolders, то достаточно присвоить параметру FileName только имя необходимого файла.

■ Data — параметр BINARY-типа представляет собой последовательность цифр в шестнадцатиричной системе счисления, которую система будет применять для генерации содержимого файла (например, этот параметр используют файлы с музыкальным контекстом для возможности создания пустого файла-образца звука).

Для примера попробуем создать свою собственную команду в списке Создать. Поскольку большая часть книги посвящена описанию работы с сервером сценариев Windows, сначала будет описан шаблон для быстрого создания основы файла сценария VBS. Для этого нужно воспользоваться ветвью реестра HKEY_CLASSES_ROOT.vbsShellNew. Необходимо создать в ней расширяемый строковый параметр FileName, которому нужно присвоить путь к файлу шаблона. Поскольку в шаблоне будут строки вызова объектов Windows, другие параметры данной ветви не подойдут. Например, присвойте данному параметру значение %systemroot%WSHtemplate.vbs. Файл шаблона должен содержать следующие данные:

set wshshell = WScript.CreateObject("WScript.Shell")

Пока хватит и этого вызова, когда вы займетесь непосредственно созданиями сценариев, то модифицируете файл шаблона. Теперь присвойте созданному файлу имя WSHtemplate.vbs и посмотрите на результат (рис. 4.2).

Рис. 4.2. Результат создания команды контекстного меню

Раздел идентификатора

Теперь поговорим о содержимом второго раздела, используемого для описания расширения.

Кроме разделов идентификаторов для расширений файлов, в системе также существуют стандартные идентификаторы Windows, описывающие такие объекты, как папка, диск, неизвестные расширения.

■ Folder — содержит настройки для папок Windows. Команды контекстного меню, описываемые данным идентификатором, могут использоваться в построении контекстного меню таких объектов, как диски, директории, значки Корзина и Мой компьютер.

■ Directory — определяет настройки контекстного меню для директорий Windows и содержит подраздел Background. Содержимое этого подраздела определяет команды Упорядочить значки и Создать для контекстного меню Рабочего стола и Проводника.

■ Drive — содержит настройки значков дисков в системе. При этом системой могут применяться и дополнительные идентификаторы для отображения дисков, например, если в данный момент в привод компакт-дисков вставлен музыкальный диск, то будет использоваться идентификатор AudioCD.

■ CompressedFolder — определяет настройки сжатых папок.

■ * — если все предыдущие идентификаторы описывали настройки конкретных файлов расширений, то данный идентификатор определяет настройки для всех расширений файлов, зарегистрированных в системе. Именно сюда довольно часто добавляют свои команды контекстного меню различные программы. Например, идентификатор используется программами WinRAR и «Антивирус Касперского» для добавления своих команд в контекстное меню файлов.

1 ... 11 12 13 14 15 16 17 18 19 ... 100
Перейти на страницу:
Тут вы можете бесплатно читать книгу Недокументированные и малоизвестные возможности Windows XP - Роман Клименко.
Комментарии