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

ЖАНРЫ

Windows Script Host для Windows 2000/XP

Попов Андрей Викторович

Шрифт:

/********************************************************************/

//Объявляем переменные

var WshShell,Root,Key,Res,SValue,ValueName,SRegValue;

//Инициализируем константы для диалоговых окон

var vbYesNo=4,vbQuestion=32,vbInformation=64,vbYes=6,vbOkOnly=0;

Root="HKEY_CURRENT_USER"; //Корневой ключ

Key="\\ExampleKey\\"; //Новый ключ

ValueName="ExampleValue"; //Имя нового параметра

SValue="Value from WSH"; //Значение
нового параметра

//Создаем объект WshShell

WshShell=WScript.CreateObject("WScript.Shell");

//Запрос на создание нового ключа

Res=WshShell.Popup("Создать ключ\n"+Root+Key+"?",0,

 "Работа с реестром",vbQuestion+vbYesNo);

if (Res==vbYes) { //Нажата кнопка Да

 //Записываем новый ключ

 WshShell.RegWrite(Root+Key,"");

 WshShell.Popup("Ключ\n"+Root+Key+" создан!",0,

"Работа с реестром",vbInformation+vbOkOnly);

}

//Запрос на запись нового параметра

Res=WshShell.Popup("Записать параметр\n"+Root+Key+ValueName+"?",0,

 "Работа с реестром",vbQuestion+vbYesNo);

if (Res==vbYes) { //Нажата кнопка Да

 //Записываем новый строковый параметр

 WshShell.RegWrite(Root+Key+ValueName,SValue,"REG_SZ");

 WshShell.Popup("Параметр\n"+Root+Key+ValueName+" записан!",0,

"Работа с реестром",vbInformation+vbOkOnly);

 //Считываем значение созданного параметра

 SRegValue=WshShell.RegRead(Root+Key+ValueName);

 //Выводим на экран полученное значение

 WshShell.Popup(Root+Key+ValueName+"="+SRegValue,0,

"Работа с реестром",vbInformation+vbOkOnly);

}

//Запрос на удаление параметра

Res=WshShell.Popup("Удалить параметр\n"+Root+Key+ValueName+"?",0,

 "Работа с реестром",vbQuestion+vbYesNo);

if (Res==vbYes) { //Нажата кнопка Да

 //Удаляем параметр

 WshShell.RegDelete(Root+Key+ValueName);

 WshShell.Popup("Параметр\n"+Root+Key+ValueName+" удален!",0,

"Работа с реестром",vbInformation+vbOkOnly);

}

//Запрос на удаление раздела

Res=WshShell.Popup("Удалить раздел\n"+Root+Key+"?",0,

 "Работа с реестром",vbQuestion+vbYesNo);

if (Res==vbYes) { //Нажата кнопка Да

 //Удаляем раздел

 WshShell.RegDelete(Root+Key);

 WshShell.Popup("Раздел\n"+Root+Key+"
удален!",0,

"Работа с реестром",vbInformation+vbOkOnly);

}

/************* Конец *********************************************/

Реализация того же сценария на языке VBScript приведена в листинге 2.45.

Листинr 2.45. Работа с системным реестром (VBScript)

'********************************************************************

' Имя: Registry.vbs

' Язык: VBScript

' Описание: Работа с системным реестром

'********************************************************************

Option Explicit

'Объявляем переменные

Dim WshShell,Root,Key,Res,SValue,ValueName,SRegValue

Root="HKEY_CURRENT_USER" 'Корневой ключ

Key="\ExampleKey\" 'Новый ключ

ValueName="ExampleValue" 'Имя нового параметра

SValue="Value from WSH" 'Значение нового параметра

'Создаем объект WshShell

Set WshShell=WScript.CreateObject("WScript.Shell")

'Запрос на создание нового ключа

Res=WshShell.Popup("Создать ключ" & vbCrLf & Root & Key & "?",0,_

 "Работа с реестром",vbQuestion+vbYesNo)

If Res=vbYes Then 'Нажата кнопка Да

 'Записываем новый ключ

 WshShell.RegWrite Root & Key, ""

 WshShell.Popup "Ключ" & vbCrLf & Root & Key & " создан!",0,_

"Работа с реестром",vbInformation+vbOkOnly

End If

'Запрос на запись нового параметра

Res=WshShell.Popup("Записать параметр" & vbCrLf & Root & Key & _

 ValueName & "?",0,"Работа с реестром",vbQuestion+vbYesNo)

If Res=vbYes Then 'Нажата кнопка Да

 'Записываем новый строковый параметр

 WshShell.RegWrite Root & Key & ValueName,SValue,"REG_SZ"

 WshShell.Popup "Параметр" & vbCrLf & Root & Key & _

ValueName & " записан!",0,"Работа с реестром",vbInformation+vbOkOnly

 'Считываем значение созданного параметра

 SRegValue=WshShell.RegRead(Root & Key & ValueName)

 'Выводим на экран полученное значение

 WshShell.Popup Root & Key & ValueName & "=" & SRegValue,0,_

"Работа с реестром",vbInformation+vbOkOnly

End If

'Запрос на удаление параметра

Поделиться с друзьями: