Чтение онлайн

на главную - закладки

Жанры

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

Клименко Роман

Шрифт:

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

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

Создать. Рассмотрим возможные параметры (в подразделе ShellNew должен находиться только один из этих параметров).

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

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

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

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

Для примера попробуем создать свою собственную команду в списке Создать. Поскольку большая часть книги посвящена описанию работы с сервером сценариев Windows, сначала будет описан шаблон для быстрого создания основы файла сценария VBS. Для этого нужно воспользоваться ветвью реестра HKEY_CLASSES_ROOT\.vbs\ShellNew. Необходимо создать в ней расширяемый строковый параметр 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 и «Антивирус Касперского» для добавления своих команд в контекстное меню файлов.

■ Unknown — определяет настройки для всех файлов, не зарегистрированных в системе. Обычно он описывает только команду Открыть с помощью.

■ AllFilesystemObjects — является родительским для всех других идентификаторов. Он определяет настройки для всего: для зарегистрированных файлов, для незарегистрированных файлов, для папок, дисков и т.д. По умолчанию данный идентификатор определяет только команду Отправить.

Параметры раздела идентификатора

Раздел идентификатора может содержать следующие параметры.

■ EditFlags — данный параметр DWORD-типа определяет различные ограничения на модификацию параметров данного расширения при помощи вкладки Типы файлов диалога Свойства папки. Например, если значение равно 0х00000001, то соответствующего расширения в списке зарегистрированных файлов данной вкладки вы не найдете. Если же значение равно 0х00000008, то кнопка Дополнительно вкладки Типы файлов для данного расширения будет заблокирована. Если же значение равно 0х00000200, то будет запрещена возможность смены значка для данного расширения.

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

Рис. 4.3. Запрет на удаление, изменение, смену описания и смену значка

Для примера на рис. 4.3 приведен диалог изменения ТХТ-файла с установленным значением параметра в 0x000003c0, то есть используются следующие битовые маски:

 • 0х00000040 — делает недоступной кнопку Изменить диалога Изменение свойств типа файлов (диалог вызывается при нажатии кнопки Дополнительно на вкладке Типы файлов);

 • 0х00000080 — делает недоступной кнопку Удалить диалога Изменение свойств типа файлов;

 • 0х00000100— запрещает пользователю изменение описания файлов с данным расширением при помощи поля диалога Изменение свойств типа файлов;

 • 0х00000200 — запрещает пользователю изменение пиктограммы, присвоенной файлам с данным расширением, при помощи кнопки Сменить значок в окне Изменение свойств типа файлов.

Поделиться:
Популярные книги

Вечный. Книга IV

Рокотов Алексей
4. Вечный
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Вечный. Книга IV

Боярышня Дуняша

Меллер Юлия Викторовна
1. Боярышня
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Боярышня Дуняша

И только смерть разлучит нас

Зика Натаэль
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
И только смерть разлучит нас

Газлайтер. Том 3

Володин Григорий
3. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 3

Шипучка для Сухого

Зайцева Мария
Любовные романы:
современные любовные романы
8.29
рейтинг книги
Шипучка для Сухого

Агенты ВКС

Вайс Александр
3. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
5.00
рейтинг книги
Агенты ВКС

Мастер Разума II

Кронос Александр
2. Мастер Разума
Фантастика:
героическая фантастика
попаданцы
аниме
5.75
рейтинг книги
Мастер Разума II

Все еще не Герой!. Том 2

Довыдовский Кирилл Сергеевич
2. Путешествие Героя
Фантастика:
боевая фантастика
юмористическое фэнтези
городское фэнтези
рпг
5.00
рейтинг книги
Все еще не Герой!. Том 2

Сонный лекарь 4

Голд Джон
4. Не вывожу
Фантастика:
альтернативная история
аниме
5.00
рейтинг книги
Сонный лекарь 4

Санек

Седой Василий
1. Санек
Фантастика:
попаданцы
альтернативная история
4.00
рейтинг книги
Санек

Мимик нового Мира 5

Северный Лис
4. Мимик!
Фантастика:
юмористическая фантастика
постапокалипсис
рпг
5.00
рейтинг книги
Мимик нового Мира 5

Райнера: Сила души

Макушева Магда
3. Райнера
Любовные романы:
любовно-фантастические романы
7.50
рейтинг книги
Райнера: Сила души

Сын Петра. Том 1. Бесенок

Ланцов Михаил Алексеевич
1. Сын Петра
Фантастика:
попаданцы
альтернативная история
6.80
рейтинг книги
Сын Петра. Том 1. Бесенок

Live-rpg. эволюция-3

Кронос Александр
3. Эволюция. Live-RPG
Фантастика:
боевая фантастика
6.59
рейтинг книги
Live-rpg. эволюция-3