Давайте теперь разберем пример, приведенный в предыдущем выпуске. Что же
происходит в системе после двойного щелчка на файле примера?
Первое: операционная система просматривает список файлов зарегистрированных типов, и находит
приложение, за которым числятся файлы с расширением ".js". (Как проверить список файлов
зарегистрированных типов, смотри приложение 1) Второе: запускается исполняемый файл найденного приложения, и ему передается название и
расположение файла, указанного двойным щелчком. Далее, сервер сценариев (исполняемый файл wscript.exe) начинает выполнять построчно команды,
указанные в текстовом файле *.js.
Не правда ли, очень напоминает пакетный файл *.bat в MS-DOS? Только
возможностей у файла сценариев несоизмеримо больше. Здесь совершенно другой
уровень подхода. Дело в том, что JavaScript не ограничивается простым
набором операций и стандартных команд. Что самое главное, язык сценариев
объектно-ориентирован. Это значит, что мы можем с помощью файла сценариев
управлять работой Windows-приложения, не нажимая ни одной кнопки на
клавиатуре. Чувствуете, какие возможности?
Поясню на примере. Если у Вас в
системе установлен сервер сценариев, то вы найдете у себя на диске готовый
пример управления работой MS-Excel (файл C:\WINDOWS\SAMPLES\WSH\CHART.JS).
На всякий случай привожу его текст с небольшими сокращениями, не влияющими
на работоспособность:
// ********************** файл CHART.JS *************************
// Пример использования сервера сценариев Windows
// Этот пример демонстрирует использование Microsoft Excel с помощью
// сервера сценариев Windows.
var vbOKCancel = 1;
var vbInformation = 64;
var vbCancel = 2;
var L_Welcome_MsgBox_Message_Text = "использование Microsoft Excel";
var L_Welcome_MsgBox_Title_Text="Пример сервера сценариев Windows";
Welcome();
var objXL;
objXL = WScript.CreateObject("Excel.Application");
objXL.Workbooks.Add;
objXL.Cells(1,1).Value = 5;
objXL.Cells(1,2).Value = 10;
objXL.Cells(1,3).Value = 15
objXL.Range("A1:C1").Select;
var objXLchart = objXL.Charts.Add();
objXL.Visible = true;
objXLchart.Type = -4100;
var intRotate;
for(intRotate = 5; intRotate <= 180; intRotate += 5) {
objXLchart.Rotation = intRotate;
}
for (intRotate = 175; intRotate >= 0; intRotate -= 5) {
objXLchart.Rotation = intRotate;
}
function Welcome() {
var WSHShell = WScript.CreateObject("WScript.Shell");
var intDoIt;
intDoIt = WSHShell.Popup(L_Welcome_MsgBox_Message_Text,
0,
L_Welcome_MsgBox_Title_Text,
vbOKCancel + vbInformation );
if (intDoIt == vbCancel) {
WScript.Quit();
}
}
// *********** конец файла примера *****************
Эффектно, не правда ли? И всего-то чуть больше трех десятков строк кода.
Какие еще приложения могут поддерживать исполнение сценариев? Да
практически все современные Windows-приложения! Сюда входят продукты
MS-Office, различные графические пакеты: CorelDraw, Adobe …, почтовые
программы, FTP - клиенты и т.д. и т.д. В общем, для решения практически
ЛЮБОЙ повседневной повторяющейся задачи можно создать сценарий, забросить
его в планировщик заданий и забыть о том, как много Вашего драгоценного
времени отнимают рутинные операции.
Здесь я заканчиваю вводную часть. Если мне удалось Вас заинтересовать -
продолжение в следующих выпусках.
Приложение 1
Просмотр зарегистрированных типов файлов для MS-Windows.
Все очень просто - Раскрываем папку "Мой компьютер" или "Мои документы"
с "Рабочего стола". В открывшемся окне выбираем меню [Wiew] - [Folder
Options]. Далее вкладка [File Types]. Для русской версии соответственно:
[Вид] - [Свойства папки] - [Типы файлов]. Открывающийся при этом длинный
список говорит сам за себя. Замечание: не стоит экспериментировать с этим инструментом, если не
совсем понятно, что при этом происходит. Последствия будут не очень
приятные. Допустим, если удалить строку, описывающюю файлы "doc" - то
потом сколько не кликай по Word-документу, вы уже не увидите привычного
окна текстового процессора.