Выбрать главу

Рис. 2.18. Диалоговое окно для выбора специальной папки

Рис. 2.10. Свойства ярлыка "Мой ярлык.lnk"

Для создаваемого ярлыка выбирается значок из файла Shell32.dll, находящегося в подкаталоге System каталога Windows (в Windows 95/98 этот файл находится в подкаталоге System), назначается комбинация горячих клавиш <Ctrl>+<Alt>+<N> и устанавливается максимизированный тип окна (рис. 2.19).

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

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

/* Имя: Shortcut.js                                              */

/* Язык: JScript                                                 */

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

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

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

var WshShell,MyShortcut,PathTarg,PathIcon,Res,PathShortcut;

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

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 можно: