Недокументированные и малоизвестные возможности Windows XP
Шрифт:
При
■ CreateKey — создает раздел в ветви реестра. Для его вызова необходимы следующие два параметра: идентификатор корневого раздела ветви реестра (аналог переменной RootKey приведенного сценария), а также остальной путь к ветви реестра, которую нужно создать (в том числе и сам создаваемый раздел реестра).
ПРИМЕЧАНИЕ
Если идентификатор корневого раздела не указан, то будет использоваться стандартный идентификатор &H80000002, говорящий о том, что ветвь находится в корневом разделе HKEY_LOCAL_MACHINE.
■ DeleteKey — удаляет раздел в ветви реестра. Для его вызова также необходимы следующие два параметра: идентификатор корневого раздела ветви реестра (аналог переменной RootKey приведенного сценария), а также остальной путь к ветви реестра, которую нужно удалить (в том числе и сам удаляемый раздел реестра).
■ EnumKey — в сценарии был рассмотрен метод для энумерации параметров указанной ветви реестра, этот же метод возвращает разделы, вложенные в указанную ветвь реестра. Для его работы необходимы следующие параметры: идентификатор корневого раздела ветви реестра (аналог переменной RootKey приведенного сценария), остальной путь к ветви реестра, разделы которой нужно перечислить, а также переменная, используемая для хранения массива найденных в указанной ветви разделов (например, аналог переменной names нашего сценария).
■ DeleteValue — удаляет указанный параметр из ветви реестра. Для его работы необходимо указать следующие три параметра: идентификатор корневого раздела ветви реестра (аналог переменной RootKey приведенного сценария), остальной путь к ветви реестра, содержащей удаляемый параметр, а также название удаляемого параметра (если название не указано, то будет удалено значение параметра (По умолчанию) ).
■ SetDWORDValue — создает или изменяет указанный параметр DWORD-типа в ветви реестра. Для его работы необходимо указать следующие четыре параметра: идентификатор корневого раздела ветви реестра (аналог переменной RootKey приведенного сценария), остальной путь к ветви реестра, содержащей изменяемый параметр, название изменяемого параметра (или создаваемого), а также новое значение, которое необходимо присвоить указанному параметру. Если название изменяемого параметра указано не будет, то нужно изменить значение параметра (По умолчанию) данной ветви реестра.
■ CheckAccess — определяет, разрешен ли пользователю доступ к указанной ветви реестра. Если метод выполнился успешно,
Флаг для определения проверяемых прав является битовой маской, значения которой определены в файле Winnt.h. Этот флаг может содержать следующие значения:
■ 0X0001 — KEY_QUERY_VALUE (разрешено запрашивать значения из дочерних разделов вашей ветви реестра);
■ 0X0002 — KEY_SET_VALUE (разрешено создание, удаление и установка значений параметров вашей ветви реестра);
■ 0X0004 — KEY_CREATE_SUB_KEY (разрешено создание и удаление дочерних разделов вашей ветви реестра);
■ 0X0008 — KEY_ENUMERATE_SUB_KEYS (разрешена энумерация дочерних разделов вашей ветви реестра);
■ 0X0010 — KEY_NOTIFY (разрешен вывод подтверждения на запрос изменения параметров или дочерних разделов вашей ветви реестра);
■ 0X0020 — KEY_CREATE_LINK (используется системой);
■ 0x00010000 — DELETE (разрешено удаление);
■ 0x00020000 — READ_CONTROL (разрешено управление чтением);
■ 0X00040000— WRITE_DAC (разрешен избирательный контроль над доступом к записи);
■ 0X00080000 — WRITE_OWNER (разрешено изменение владельца ветви).
В классе StdRegProv также описаны методы SetBinaryValue, SetExpandedStringValue, SetMultiStringValue, SetStringValue, но мы их описывать не будем, так как их вызов аналогичен вызову описанного выше метода SetDWORDValue.
ПРИМЕЧАНИЕ
Подробнее о классе StdRegProv можно узнать из стандартного файла Windows XP regevent.mfl, расположенного в каталоге %systemroot%\SYSTEM32\wbem.
Создание, завершение и просмотр учетной записи процесса
К другим основным возможностям инструментария управления WMI относятся возможности работы с процессами, запущенными на удаленном или локальном компьютере. При этом инструментарий предоставляет возможности не только по запуску или завершению процесса, но и по определению учетной записи, от имени которой запущен определенный процесс. Для работы с процессами используется класс Win32_Process, принадлежащий к пространству имен root\cimv2. Рассмотрим маленький пример по созданию нового процесса с использованием метода Create.
Действительно, маленький пример. Теперь подробнее рассмотрим методы класса Win32_Process, направленные на работу с процессами.
■ Create — как уже известно, данный метод используется для создания процесса. При этом после своего выполнения метод возвращает следующие значения (это не все):