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

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

Жанры

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

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

Шрифт:

ПРИМЕЧАНИЕ

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

На рис. 15.3 показан результат добавления компонентов. 

Рис. 15.3.

Создание разделов диалога

INF-файл для логического диска

Еще одной возможностью, которую предоставляют INF-файлы, является добавление в контекстное меню логических дисков своих команд, а также изменение значка логического диска. Для этого необходимо создать специальный файл, который должен называться autorun.inf. Созданный INF-файл необходимо поместить в корень логического диска. Рассмотрим пример создания файла autorun.inf.

Листинг 15.14. Пример создания файла autorun.inf

[autorun]

icon = E:\images\fotoo\Art_galery\p.BMP

shell = open

shell\RunPh\command = photoshop.exe

shell\RunPh = Запустить photoshop

Файл autorun.inf не имеет блока версии INF-файла, но должен иметь блок [autorun]. Содержимое этого блока довольно просто в понимании, если вы прочитали главу 8 о корневом разделе HKEY_CLASSES_ROOT. Как можно заметить, ключевые слова, начинающиеся со слова shell, являются просто разделами реестра, которые должны быть добавлены к ветви HKEY_CLASSES_ROOT\Drive при отображении контекстного меню данного логического диска, а ключевое слово icon определяет значок диска. Тем не менее вспомним содержимое корневого раздела HKEY_CLASSES_ROOT\Drive\shell и опишем, что же конкретно делают ключевые слова данного файла.

■ shell = open — добавляет в параметр (По ум олчанию) раздела shell строку open. Эта строка говорит о том, что по умолчанию при двойном щелчке на диске он должен открываться.

■ Shell\RunPh = Запустить photoshop — добавляет в параметр (По умолчанию) раздела RunPh строку Запустить photoshop. Эта строка определяет название команды в контекстном меню нашего диска.

■ Shell\RunPh\command = photoshop.exe — добавляет в параметр (По умолчанию) раздела command строку photoshop.exe. Эта строка определяет команду, которая будет выполняться при выборе из контекстного меню нашего диска соответствующей команды. 

ПРИМЕЧАНИЕ

Для возможности работы файла autorun.inf необходимо, чтобы REG_BINARY-параметр NoDriveTypeAutoRun, расположенный в ветви реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer, был равен 0. 

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

будет выполнить завтра.

Глава 16

Сервер сценариев Windows

При рассказе об инструментарии управления WMI уже рассматривались примеры создания сценариев сервера сценариев Windows с использованием WMI, сейчас же рассмотрим некоторые объекты, доступ к которым можно получить в Windows XP, а также методы для работы с ними. Глава будет оформлена как справочник, так как работа с объектами легче, чем работа с инструментарием WMI, тем более что в Интернете можно найти очень много примеров работы с объектами.

Реестр

Для доступа к реестру необходимо подключить объект WshShell. Для этого нужно воспользоваться следующим объявлением: Set имя_нового_объекта = WScript.CreateObject("WScript. Shell"). Объект поддерживает следующие методы.

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

 • HKCU — соответствует корневому разделу HKEY_CURRENT_USER;

 • HKLM — HKEY_LOCAL_MACHINE;

 • HKCR — HKEY_CLASSES_ROOT.

■ RegWrite путь к ветви реестра и имя параметра, значение параметра, тип параметра — редактирует значение существующего параметра реестра или создает новый параметр. При этом для его работы необходимо три входных значения, последнее из которых является аббревиатурой типа создаваемого параметра. Возможны следующие аббревиатуры:

 • REG_SZ — строковый параметр;

 • REG_DWORD — параметр REG_DWORD-типа;

 • REG_BINARY — параметр REG_BINARY-типа.

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

■ RegDelete путь к ветви реестра и имя параметра, который мы удаляем — удаляет из реестра указанный во входящем значении параметр. При этом если входящее значение оканчивается косой чертой, то будет удалена вся ветвь.

Рассмотрим простой пример работы с данными методами. В нем будет создан параметр, а также отредактирован параметр (По умолчанию). Затем произойдет попытка считать созданные параметры, а после этого удаление сначала отдельного параметра, а потом всей ветви реестра, которая была создана ранее.

Листинг 16.1. Работа с методами для доступа к реестру

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

wshshell.RegWrite "HKCU\Primer_sozdania_vetvi\hello_world", "BIG_WORLD", "REG_SZ"

wshshell.RegWrite "HKCU\Primer_sozdania_vetvi\", "Изменяем значение параметра По умолчанию", "REG_SZ"

MsgBox wshshell. RegRead("HKCU\Primer_sozdania_vetvi\hello_world")

MsgBox wshshell.RegRead("HKCU\Primer_sozdania_vetvi\")

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

Блуждающие огни 2

Панченко Андрей Алексеевич
2. Блуждающие огни
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
альтернативная история
фэнтези
5.00
рейтинг книги
Блуждающие огни 2

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

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

Измена. Не прощу

Леманн Анастасия
1. Измены
Любовные романы:
современные любовные романы
4.00
рейтинг книги
Измена. Не прощу

Эволюционер из трущоб. Том 7

Панарин Антон
7. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Эволюционер из трущоб. Том 7

Титан империи

Артемов Александр Александрович
1. Титан Империи
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Титан империи

Идеальный мир для Лекаря 22

Сапфир Олег
22. Лекарь
Фантастика:
юмористическое фэнтези
аниме
фэнтези
5.00
рейтинг книги
Идеальный мир для Лекаря 22

Барин-Шабарин 2

Гуров Валерий Александрович
2. Барин-Шабарин
Фантастика:
попаданцы
альтернативная история
фэнтези
5.00
рейтинг книги
Барин-Шабарин 2

Невеста снежного демона

Ардова Алиса
Зимний бал в академии
Фантастика:
фэнтези
6.80
рейтинг книги
Невеста снежного демона

Чиновникъ Особых поручений

Кулаков Алексей Иванович
6. Александр Агренев
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Чиновникъ Особых поручений

Связанные Долгом

Рейли Кора
2. Рожденные в крови
Любовные романы:
современные любовные романы
остросюжетные любовные романы
эро литература
4.60
рейтинг книги
Связанные Долгом

Целительница моей души

Чекменёва Оксана
Любовные романы:
любовно-фантастические романы
7.29
рейтинг книги
Целительница моей души

Кодекс Охотника. Книга X

Винокуров Юрий
10. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
6.25
рейтинг книги
Кодекс Охотника. Книга X

Седьмая жена короля

Шёпот Светлана
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Седьмая жена короля

Академия проклятий. Книги 1 - 7

Звездная Елена
Академия Проклятий
Фантастика:
фэнтези
8.98
рейтинг книги
Академия проклятий. Книги 1 - 7