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


Авторские права

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

Здесь можно скачать бесплатно "Роман Клименко - Недокументированные и малоизвестные возможности Windows XP" в формате fb2, epub, txt, doc, pdf. Жанр: Программное обеспечение, издательство Питер, год 2006. Так же Вы можете читать книгу онлайн без регистрации и SMS на сайте LibFox.Ru (ЛибФокс) или прочесть описание и ознакомиться с отзывами.
Роман Клименко - Недокументированные и малоизвестные возможности Windows XP
Рейтинг:
Название:
Недокументированные и малоизвестные возможности Windows XP
Издательство:
Питер
Год:
2006
ISBN:
5-469-01562-9
Скачать:

99Пожалуйста дождитесь своей очереди, идёт подготовка вашей ссылки для скачивания...

Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.

Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.

Как получить книгу?
Оплатили, но не знаете что делать дальше? Инструкция.

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

Описание и краткое содержание "Недокументированные и малоизвестные возможности Windows XP" читать бесплатно онлайн.



Книга содержит подробные сведения о таких недокументированных или малоизвестных возможностях Windows XP, как принципы работы с программами rundll32.exe и regsvr32.exe, написание скриптов сервера сценариев Windows и создание INF-файлов. В ней приведено описание оснасток, изложены принципы работы с консолью управления mmc.exe и параметрами реестра, которые изменяются с ее помощью. Кроме того, рассмотрено большое количество средств, позволяющих выполнить тонкую настройку Windows XP.

Эта книга предназначена для опытных пользователей и администраторов, которым интересно узнать о нестандартных возможностях Windows. Тем более что довольно часто эти возможности позволяют обойти ограничения на те или иные функции Windows, установленные администратором. Издание также может быть интересно и обычным пользователям






ПРИМЕЧАНИЕ

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

За выполнение перечисления параметров, расположенных в ветви реестра, отвечает метод EnumValues, принадлежащий классу StdRegProv. Данный класс определяет методы для доступа к реестру Windows XP (более функциональный аналог стандартного объекта Windows, рассмотренного выше) и принадлежит к пространству имен Root\Default. Мы не будем создавать целый работоспособный сценарий для описания работы данного метода — лучше создадим отдельную процедуру, которая будет выполнять перечисление параметров указанной ветви реестра, а также проверим ее работу с помощью записи в файл журнала выводимых значений. 

Листинг 11.3. Энумерация параметров ветви реестра

set objFS = CreateObject("Scripting.FIleSystemObject")

'Для вывода списка содержащихся в ветви реестра параметров мы будем

'использовать файл. В нашем случае – файл enum_log.txt на диске d:\..

set objTextFile = objFS.CreateTextFile("d:\enum_log.txt", 8, True)

'подключаем объект

Set obj = GetObject("winmgmts:{impersonationLevel=impersonate}!root/Default:StdRegProv")

'Переменная RootKey будет определять корневой раздел ветви, параметры

'которой мы будем перечислять. При этом корневые разделы идентифицируются

'в соответствии с правилами, определеннымивфайле Winreg.h. В файле

'определены следующие корневые разделы: HKEY_CLASSES_ROOT (0x80000000),

'HKEY_CURRENT_USER (0x80000001), HKEY_LOCAL_MACHINE (0x80000002),

'HKEY_USERS (0x80000003), HKEY_CURRENT_CONFIG (0x80000005), HKEY_DYN_DATA

'(0x80000006). В нашем случае будет использоваться корневой раздел

'HKEY_CURRENT_USER.

RootKey = &H80000001

Вызываем процедуру, которая и будет выполнять перечисление параметров. Для

'работы процедуры необходимы три параметра: ветвь реестра, параметры которой

'нужно перечислять (в нашем случае Control Panel\Desktop), объект,

'определяющий текстовый документ, в который будут записываться параметры

'ветви, а также корневой раздел указанной ранее ветви, записанный в нашем

'случае в параметре RootKey. После работы процедуры закрываем открытый

'текстовый файл.

call EnumV("Control Panel\Desktop", objTextFile, RootKey)

objTextFile.Close

Sub EnumV(Path, objTextFile, RootKey)

 objTextFile.WriteLine ":::: Ветвь реестра: HKEY_CURRENT_USER\" & Path & vbCrLf

 'Выполняем перечисление параметров, расположенных в ветви реестра

 'HKEY_CURRENT_USER\Control Panel\Desktop. Для этого используется метод

 'EnumValues, для работы которого необходимы следующие параметры:

 '– Корневой раздел ветви (в нашем случае параметр RootKey)

 '– Остальной путь к ветви реестра (в нашем случае параметр RootKey,

 'указываемый при вызове процедуры).

 ' – Переменная, в которую будут помещаться содержащиеся в ветви реестра

 'параметры. В нашем случае назовем эту переменную Names

 ' – Переменная, в которую будет помещаться идентификатор типа параметра.

 'В нашем случае назовем ее Types.

 obj.EnumValues RootKey, Path, Names, Types

 'Проверяем, существуют ли в указанной ветви реестра параметры. Во-первых,

 'проверяется равенство нулю переменной Names, содержащей названия

 'параметров. А во-вторых, проверяем на равенство нулю переменную Types.

 'Переменные нужно проверять именно на равенство нулю, так как ноль

 'возвращается методом EnumValues в случае ошибки.

 if not IsNull(Names) and not IsNull(Types) Then

  'Выполняем цикл, количество итераций которого указывается границами

  'переменной types (количеством элементов в переменной types, так как это

  'массив). Иными словами, выполняем цикл столько раз, сколько переменных было

  'найдено в указанной ветви реестра.

  for i = lbound(types) to ubound(types)

   'При этом мы будем выполнять запись в текстовый файл в зависимости

   'от типа переменной, указанного в переменной types. Для этого будем

   'использовать выражение select case из-за особенности метода EnumValues.

   'Особенностью этого метода является способ указания типа найденной

   'переменной. Для этого используется массив types (в нашем случае),

   'в который помещаются идентификаторы типа переменной, определенные

   'в файле Winreg.h. Возможны следующие идентификаторы:

   '1 – определяет переменную строкового типа;

   '2 – определяет переменную расширенного строкового типа;

   '3 – определяет переменную REG_BINARY-типа;

   '4 – определяетпеременную REG_DWORD-типа;

   '7 – определяет переменную REG_MULTI_SZ-типа.

   select case types(i)

   'Проверяем тип параметра и в зависимости от этого типа используем

   'разные методы для получения значения параметра. Все методы для

   'получения значений параметров реестра также описаны в классе

   'StdRegProv. Мы используем следующие методы.

   'GetStringValue – получение значения строкового типа.

   'GetExpandedStringValue – получение значения расширенного строкового типа.

   'GetBinaryValue – получение значения параметра REG_BINARY-типа.

   'GetDWordValue – получение значения параметра REG_DWORD-типа.

   'GetMultiStringValue – получение значения параметра REG_MULTI_SZ-типа.

   'Все эти методы используют для своей работы следующие переменные:

   'идентификатор корневого раздела ветви реестра, остальной путь к ветви

   'реестра, имя параметра (в нашем случае элемент массива names), а также

   'название переменной, в которую будет считываться значение данного

   'параметра.

   case 1

    obj.GetStringValue RootKey, path, names(i), value

    'После считывания значения параметра проверяем, не произошла ли ошибка

    'при считывании (как обычно, значение нуль в переменной). Если ошибки нет,

    'то записываем параметр и его значение в текстовый файл. Аналогично

    'выполняется работа и с другими типами параметров, поэтому их мы описывать

    'не будем.

    If isnull(names(i)) or not isnull(value) then

     objTextFile.WriteLine names(i) & " = REG_SZ: " & value

    end if

   case 2

    obj.GetExpandedStringValue RootKey, path, names(i), value

    if not isnull(names(i)) or not isnull(value) then

     objTextFile.WriteLine names(i) & " = REG_EXPAND_SZ: " & value

    end if

   case 3

    obj.GetBinaryValue RootKey, path, names(i), value

    for j = lbound(value) to ubound(value)

     value(j) = hex(cint(value(j)))

    next

    if not isnull(names(i)) or not isnull(value) then

     objTextFile.WriteLine names(i) &" = REG_BINARY : "& _

      join(value, ",")

    end if

   case 4

    obj.GetDWordValue RootKey, path, names(i), value

    if not isnull(names(i)) or value then

     objTextFile.WriteLine names(i) & " = REG_DWORD : " & _

      hex(value)

    end if

   case 7

    obj.GetMultiStringValue RootKey, path, names(i), value

    for j = lbound(value) to ubound(value)

     value(j) = value(j)

    next

    if not isnull(names(i)) or not isnull(value) then

     objTextFile.WriteLine names(i) &" = REG_MULTI_SZ : "& _

      join(value, ",")

    end if

   end select

  next

 end if

End Sub

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

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

ПРИМЕЧАНИЕ

Если идентификатор корневого раздела не указан, то будет использоваться стандартный идентификатор &H80000002, говорящий о том, что ветвь находится в корневом разделе HKEY_LOCAL_MACHINE. 


На Facebook В Твиттере В Instagram В Одноклассниках Мы Вконтакте
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!

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

Книги похожие на "Недокументированные и малоизвестные возможности Windows XP" читать онлайн или скачать бесплатно полные версии.


Понравилась книга? Оставьте Ваш комментарий, поделитесь впечатлениями или расскажите друзьям

Все книги автора Роман Клименко

Роман Клименко - все книги автора в одном месте на сайте онлайн библиотеки LibFox.

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

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

Отзывы читателей о книге "Недокументированные и малоизвестные возможности Windows XP", комментарии и мнения людей о произведении.

А что Вы думаете о книге? Оставьте Ваш отзыв.