Категории
Самые читаемые
onlinekniga.com » Компьютеры и Интернет » Прочая околокомпьтерная литература » Тайны и секреты компьютера - Антон Орлов

Тайны и секреты компьютера - Антон Орлов

Читать онлайн Тайны и секреты компьютера - Антон Орлов

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 43 44 45 46 47 48 49 50 51 ... 106
Перейти на страницу:

Все вышеизложенное несколько трудно для восприятия, но увы — это так. Приведена же здесь эта информация для того, чтобы вы поняли назначение различных групп разделов реестра. Кроме того, из данной информации есть несколько практических выводов.

Во-первых — теперь вы можете свободно редактировать выпадающее меню "Создать…". Для удаления лишних пунктов оттуда надо просто провести поиск по словам FileName, NullFile и др. и удалить параметры ShellNew в тех найденных разделах, которые не нужны.

Вы можете удивиться, найдя весьма много параметров FileName и NullFile, причем в разделах типов файлов, которые не присутствуют в меню "Создать…". Это чаще всего «обломки» предыдущих инсталляций программ. Дело в том, что для того, чтобы название типа файлов появилось в меню "Создать…", нужно правильное оформление всех разделов реестра, посвященных данному типу: и раздел с «внутренним» именем, и раздел shell, и в нем обязательно — раздел с именем open и т. д.

Для добавления какого-либо пункта в меню "Создать…" нужно найти раздел с именем нужного расширения и добавить в него подразделы с его «внутренним» именем и именем ShellNew, а там — указать параметр NullFile (или FileName с именем файла). Ну и, естественно, проверить наличие и правильность оформления раздела с «внутренним» именем этого расширения.

"Обломки" инсталляций — разделы с именами типов файлов могут, к примеру, образоваться так. Программа Microsoft Photo Editor при своей установке поместила в реестр записи о том, что файл с расширением. gif имеет «внутреннее» имя «giffile», создала под него в реестре два раздела —.gif и giffile, прописав там все, что нужно. При установке программы ACDSee она в разделе. gif заменила «внутреннее» имя этого типа на свое — ACDSee.GIF и создала под него раздел с именем "ACDSee.GIF", куда и разместила свои команды. А прежний-то раздел, «giffile», остался! Но он теперь уже не соответствует никакому типу файлов, так как ни у одного расширения нет такого «внутреннего» имени. После длительной эксплуатации системы таких обломков накапливается достаточно много. Поэтому поиск нужного раздела надо начинать именно со списка расширений, а потом уже переходить к списку «внутренних» имен, узнав нужное.

В некоторых разделах, посвященных типам файлов, можно найти еще и другие разделы. Например, раздел «ddeexec» в подразделе с именем команды раздела shell какого-либо типа файлов содержит те команды DDE, которые должны использоваться. (Некоторые программы способны воспринимать команды операционной системы при открытии того или иного типа файлов и, к примеру, открывать их не в новом окне, а в своем подокне. Это называется Dynamic Data Exchange, DDE — динамический обмен данными.)

В некоторых разделах встречаются параметры Content-Type. Это — указания Интернет-браузеру на тот случай, если он встретит подобный файл в Интернете. Существуют и другие возможные виды разделов, но подробное их описание выходит за рамки данной книги.

Некоторые типы файлов могут быть зарегистрированы в реестре по упрощенной схеме. При ее использовании «внутреннее» имя типа файлов не указывается, а те параметры, которые должны были бы присутствовать в разделе с «внутренним» именем, находятся в разделе с именем расширения файла. Такая схема тоже работает, но все же является не совсем корректной.

Каталог имеет только два «внутренних» имени и тем самым два подраздела — Folder и Directory, соответствующие его пустому и непустому состояниям. В каждом из этих подразделов содержатся команды, применяемые ко всему каталогу. В подразделе с именем "*" находятся команды, применяемые ко всем типам файлов, а в подразделе Unknown — к файлам, которые в реестре не зарегистрированы (то есть в нем нет подразделов с именами, соответствующими их расширениям). Подраздел с именем Drive соответствует логическому диску.

В подразделе с «внутренним» именем типа файла может содержаться также параметр EditFlag. В зависимости от его значения запрещаются те или иные параметры редактирования действий с этим типом файлов с помощью окна Вид-Параметры-Типы файлов, вызываемого из «Проводника». Вы, наверное, замечали, что редактировать через это окно действия с каталогом или логическим диском нельзя? Так вот это именно из-за значения параметра EditFlag.[38]

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

Обьектами в операционной системе может стать все, что угодно — программы, папки, компоненты программ и др. Строго говоря, обьект в программистском понимании — это все, что имеет имя и к чему можно обращаться, как к единому целому.

Этой возможностью пользуются разработчики программ, интегрирующихся в систему. Служебные папки, такие, как Панель управления, Удаленный доступ к сети, Принтеры, которые вы наверняка в свое время безуспешно искали на жестком диске, являются именно такими обьектами и имеют свои идентификаторы. Идентификаторы также имеют и реальные папки, выполняющие в системе какие-либо функции, например, Рабочий стол, Корзина. Вы можете даже дать такой идентификатор какой-либо из своих папок (тогда ее, в частности, можно будет включить в окно "Мой компьютер", как показано на рисунке).

Совет. Вот как это можно сделать

1. Откройте раздел реестра HKEY_CLASSES_ROOTCLSID и добавьте туда раздел с именем {FD4DF9E0-E3DE-11CE-BFCF-….любые 12 цифр и букв…}. Тем самым вы создадите еще один идентификатор обьекта Windows. (Вообще говоря, и остальные цифры могут быть произвольными. Важно лишь, чтобы в реестре не оказалось двух одинаковых идентификаторов.)

2. Добавьте в этот раздел параметр По умолчанию = "Название папки". Здесь введите то имя, под которым вы хотите, чтобы папка отображалась в окне "Мой компьютер".

3. Добавьте в этот раздел подразделы с параметрами:

— DefaultIcon и параметр по умолчанию там — путь к желаемой иконке папки.

— InProcServer32 и параметр по умолчанию там — "shell32.dll", а также параметр «ThreadingModel» со значением «Apartment».

— Shell, в нем подраздел с именем, соответствующим желаемому названию команды по умолчанию для папки (например, "Открыть"), а в нем подраздел Command (то есть так же, как и для любого обычного типа файлов). Введите строку "c: windowsexplorer /n / root…путь к нужной папке…" в качестве значения параметра по умолчанию в подразделе Command. Можете добавить в раздел Shell и другие команды в таком же виде.

— ShellEx, в нем подраздел PropertySheetHandler, а в нем — подраздел с именем, равным имени всего раздела, который вы создали для своей папки (то есть {FD4DF9E0-E3DE-11CE-BFCF-….любые 12 цифр и букв…}). Это, впрочем, не обязательно, но желательно.

— ShellFolder, а в нем — параметр Attributes со значением 0.

Теперь ваша папка стала системным обьектом — таким же, как, скажем, и "Удаленный доступ к сети", «Принтеры». У нее есть свой идентификатор — это длинное выражение в фигурных скобках. Если вы добавите его в качестве имени подраздела в раздел HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionexplorermycomputerNameSpace, то она появится в окне "Мой компьютер" (имя у нее там будет то, которое вы задали на шаге 2). А чтобы разместить ее на Рабочем столе, добавьте ее идентификатор рядом в раздел DesktopNameSpace раздела Explorer.

А если вместо строки "c: windowsexplorer…" указать путь к какой-нибудь программе, то тогда получится, что ярлык этой программы вы поместите в окно "Мой компьютер" и сможете запускать ее прямо оттуда!

Некоторые обьекты операционной системы, кроме идентификаторов, имеют еще и словесные имена. В этом случае эти имена отображаются в качестве имен разделов в той же части HKEY_CLASSES_ROOT, что и «внутренние» имена типов файлов и содержат в себе данные об идентификаторе в одном из своих параметров. Их остальные параметры могут хранить различную служебную информацию.

Совет

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

{20D04FE0-3AEA-1069-A2D8-08002B30309D} — "Мой компьютеp"

{645FF040-5081-101B-9F08-00AA002F954E} — «Коpзина»

{208D2C60-3AEA-1069-A2D7-08002B30309D} — "Сетевое окpужение"

{FF393560-C2A7-11CF-BFF4-444553540000} — "History"

{992CFFA0-F557-101A-88EC-00DD01 °CCC48} — "Удаленный доступ к сети"

{21EC2020-3AEA-1069-A2DD-08002B30309D} — "Панель управления"

{2227A280-3AEA-1069-A2DE-08002B30309D} — "Принтеры"

Если в «Проводнике» вы создадите папку с именем Имя. Идентификатор, то она превратится в соответствующую папку (верно не для всех идентификаторов, скажем, новый "Мой компьютер" вам так создать не удастся). А добавив параметр InfoTip с строкой в качестве значения в один из таких разделов, можно организовать всплывающую подсказку для соответствующей папки. Добавив некоторые подобные папки в "Главное меню", можно получить весьма интересные результаты.

1 ... 43 44 45 46 47 48 49 50 51 ... 106
Перейти на страницу:
На этой странице вы можете бесплатно читать книгу Тайны и секреты компьютера - Антон Орлов.
Комментарии