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

на главную - закладки

Жанры

Windows Script Host для Windows 2000/XP

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

Шрифт:

В зависимости от нажатой в диалоговом окне кнопки мы присваиваем логическое значение переменной

IsRunAll
, определяющей режим автозагрузки программ (если
IsRunAll
равно
false
, то для каждой программы будет выдаваться запрос на ее запуск, в противном случае все программы запускаются без предупреждения):

//Выводим запрос на запуск сразу всех программ

Res=WshShell.Popup("Запустить сразу все программы?", 0,

 "Выборочная
автозагрузка", vbQuestion+vbYesNo);

//Определяем, нажата ли кнопка "Да"

IsRunAll=(Res==vbYes);

Далее в цикле

while
производится перебор всех файлов из коллекции
Files
; переменная
File
соответствует текущему файлу в коллекции:

//Цикл по всем файлам каталога выборочной автозагрузки

while (!Files.atEnd) {

 //Создаем объект File для текущего элемента коллекции

 File=Files.item;

 //Переходим к следующему файлу в коллекции

 Files.moveNext;

}

Если ранее был выбран интерактивный режим запуска программ (переменная

IsRunAll
равна
false
), то мы выводим запрос на запуск текущего файла (рис. 11.19):

//Обнуляем переменную Res Res=0;

if (!IsRunAll) //Программы нужно запускать по одной

 //Выводим запрос на запуск одной программы

 Res=WshShell.Popup("Запустить "+File.Name+"?", 0, "Выборочная автозагрузка", vbQuestion+vbYesNo);

Рис. 11.19. Запрос на запуск одной программы из папки автозагрузки

Если пользователь решил запустить программу (переменная

Res
равна
vbYes
) или программы запускаются в пакетном режиме, то мы запускаем текущую программу в минимизированном окне с помощью метода
Run
объекта
WshShell
:

if ((IsRunAll) || (Res=vbYes))

 //Запускаем текущую программу в минимизированном окне

 WshShell.Run("\""+File.Path+" \"", vbMinimizedFocus);

Так как в полном имени запускаемой программы могут быть пробелы, это имя нужно заключить в двойные кавычки с помощью escape-последовательности \".

Замечание

Другим вариантом запуска с помощью метода

Run
программ, имена которых содержат пробелы, можно использовать короткие имена папок и файлов посредством свойства
ShortPath
объекта
File:
WshShell.Run(File.ShortPath, vbMinimizedFocus);

Полностью текст сценария Logon.js приведен в листинге 11.10.

Листинг 11.10. Сценарий входа, позволяющий выбирать программы для автозагрузки

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

/* Имя: Logon.js */

/* Язык: JScript */

/* Описание: Сценарий входа, позволяющий выбирать программы для */

/* автозагрузки */

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

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

var

 FSO, //Экземпляр объекта FileSystemObject

 WshShell, //Экземпляр объекта WshShell

 WshFldrs, //Экземпляр объекта WshSpecialFolders

 PathStartup, //Путь к папке выборочной автозагрузки

 Folder, //Экземпляр объекта Folder для папки

//выборочной автозагрузки

 Files, //Коллекция файлов в папке выборочной автозагрузки

 File, //Экземпляр объекта File для ярлыка в папке

//выборочной автозагрузки

 Res, //Результат нажатия кнопок в диалоговых окнах

 IsRunAll; //Логический флаг, указывающий, надо ли запустить

//сразу все программы из автозагрузки

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

var vbYesNo=4,vbQuestion=32,vbYes=6,vbOkOnly=0,vbMinimizedFocus=2;

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

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

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

WshFldrs=WshShell.SpecialFolders;

//Определяем путь к папке выборочной автозагрузки

PathStartup=WshFldrs.item("AllUsersStartMenu")+"\\Выборочная автозагрузка\\";

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

FSO=WScript.CreateObject("Scripting.FileSystemObject");

//Создаем объект Folder для папки выборочной автозагрузки

Folder=FSO.GetFolder(PathStartup);

//Создаем коллекцию файлов каталога выборочной автозагрузки

Files=new Enumerator(Folder.Files);

//Выводим запрос на запуск сразу всех программ

Поделиться:
Популярные книги

Статьи

Переслегин Сергей Борисович
Документальная литература:
публицистика
5.00
рейтинг книги
Статьи

Том 14. Критические статьи, очерки, письма

Гюго Виктор
14. Собрание сочинений
Документальная литература:
критика
публицистика
5.00
рейтинг книги
Том 14. Критические статьи, очерки, письма

Библиотека душ

Риггз Ренсом
3. Мисс Перегрин
Фантастика:
фэнтези
7.86
рейтинг книги
Библиотека душ

Изгои

Владимиров Денис
5. Глэрд
Фантастика:
фэнтези
боевая фантастика
5.00
рейтинг книги
Изгои

Первый среди равных. Книга V

Бор Жорж
5. Первый среди Равных
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Первый среди равных. Книга V

Записки писателя

Телешов Николай Дмитриевич
Документальная литература:
биографии и мемуары
5.00
рейтинг книги
Записки писателя

Розы от киллера

Браун Сандра
Любовные романы:
остросюжетные любовные романы
8.67
рейтинг книги
Розы от киллера

Тихий Дон. Том 2

Шолохов Михаил Александрович
199. Библиотека всемирной литературы
Проза:
советская классическая проза
6.40
рейтинг книги
Тихий Дон. Том 2

Башня на краю света

Сэборг Финн
Проза:
проза прочее
5.00
рейтинг книги
Башня на краю света

Избранное

Лукницкий Павел Николаевич
Проза:
советская классическая проза
5.00
рейтинг книги
Избранное

Барон устанавливает правила

Ренгач Евгений
6. Закон сильного
Старинная литература:
прочая старинная литература
5.00
рейтинг книги
Барон устанавливает правила

Йога т4

Васиштха
5.00
рейтинг книги
Йога т4

Личность и Абсолют

Лосев Алексей Федорович
Научно-образовательная:
философия
6.25
рейтинг книги
Личность и Абсолют

Современная болгарская повесть

Коллектив авторов
Проза:
современная проза
5.00
рейтинг книги
Современная болгарская повесть