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

ЖАНРЫ

Windows Script Host для Windows 2000/XP

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

Шрифт:

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

var vbYesNo=4,vbQuestion=32,vbYes=6;

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

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

//Выводим запрос для выбора папки, в которой будет создан ярлык

Res=WshShell.Popup("Где создать ярлык?\nДа - на рабочем столе\nНет - в меню Программы",0,

 "Работа с ярлыками",vbQuestion+vbYesNo);

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

 //Определяем путь
к рабочему столу

 PathShortcut = WshShell.SpecialFolders("Desktop");

else

 //Определяем путь к меню Программы

 PathShortcut = WshShell.SpecialFolders("Programs");

//Создаем объект-ярлык

MyShortcut = WshShell.CreateShortcut(PathShortcut+"\\Мой ярлык.lnk");

//Устанавливаем путь к файлу

PathTarg=WshShell.ExpandEnvironmentStrings("%windir%\\notepad.exe");

MyShortcut.TargetPath = PathTarg;

//Назначаем комбинацию горячих клавиш

MyShortcut.Hotkey = "CTRL+ALT+N";

//Выбираем иконку из файла SHELL32.dll

PathIcon=

 WshShell.ExpandEnvironmentStrings("%windir%\\system32\\SHELL32.dll");

MyShortcut.IconLocation = PathIcon+", 1";

MyShortcut.WindowStyle=3; //Устанавливаем тип окна (максимизировано)

MyShortcut.Save; //Сохраняем ярлык

WScript.Echo("Ярлык создан|");

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

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

Листинг 2.43. Доступ к определенным специальным папкам (VBScript)

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

' Имя: Shortcut.vbs

' Язык: JScript

' Описание: Создание ярлыков в специальных папках

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

Option Explicit

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

Dim WshShell,MyShortcut,PathTarg,PathIcon,Res,PathShortcut

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

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

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

Res=WshShell.Popup("Где создать ярлык?" & vbCrLf & "Да - на рабочем столе" & vbCrLf & _

 "Нет - в меню Программы",0,"Работа с ярлыками",vbQuestion+vbYesNo)

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

 ' Определяем путь к рабочему столу

 PathShortcut = WshShell.SpecialFolders("Desktop")

Else

 ' Определяем путь к меню Программы

 PathShortcut = WshShell.SpecialFolders("Programs")

End If

' Создаем объект-ярлык

Set MyShortcut = WshShell.CreateShortcut(PathShortcut+"\Мой ярлык.lnk")

'
Устанавливаем путь к файлу

PathTarg=WshShell.ExpandEnvironmentStrings("%windir%\\notepad.exe")

MyShortcut.TargetPath = PathTarg

' Назначаем комбинацию горячих клавиш

MyShortcut.Hotkey = "CTRL+ALT+N"

' Выбираем иконку из файла SHELL32.dll

PathIcon = _

 WshShell.ExpandEnvironmentStrings("%windir%\system32\SHELL32.dll")

MyShortcut.IconLocation = PathIcon & ", 1"

MyShortcut.WindowStyle=3 ' Устанавливаем тип окна (максимизировано)

MyShortcut.Save ' Сохраняем ярлык

WScript.Echo "Ярлык создан|"

'************* Конец *********************************************

Работа с системным реестром Windows

Во всех версиях Windows системный реестр — это база данных, в которой хранится информация о конфигурации компьютера и операционной системы. С точки зрения пользователя, реестр является иерархическим деревом разделов, подразделов и параметров. Работать с этим деревом можно с помощью стандартного редактора реестра regedit.exe (рис. 2.20).

Рис. 2.20. Редактор реестра regedit.exe

С помощью методов объекта

WshShell
из сценариев WSH можно:

создавать новые разделы и параметры (метод

RegWrite
);

изменять значения параметров и разделов (метод

RegWrite
);

считывать значения параметров и разделов (метод

RegRead
);

удалять параметры и разделы (метод

RegDelete
).

Замечание

В Windows ХР для работы с системным реестром сценарий должен иметь разрешение на доступ к разделам реестра, которым обладает администратор.

В листинге 2.44 представлен сценарий Registry.js, который производит манипуляции внутри корневого раздела

HKEY_CURRENT_USER
, причем каждая операция выполняется только после утвердительного ответа на соответствующий запрос, формируемый в диалоговом окне.

Сначала в разделе

HKEY_CURRENT_USER
создается подраздел
ExampleKey
, в который затем записывается строковый параметр
ExampleValue
со значением "Value from WSH" (рис. 2.21).

Рис. 2.21. Элементы системного реестра, создаваемые сценарием Registry.js

После этого параметр

ExampleValue
и раздел
ExampleKey
последовательно удаляются из реестра.

Листинг 2.44. Работа с системным реестром (JScript)

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

/* Имя: Registry.js */

/* Язык: JScript */

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

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