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);
//Выводим запрос на запуск сразу всех программ
Поделиться:
Популярные книги
Меняя маски
1. Унесенный ветром
Фантастика:
боевая фантастика
попаданцы
9.22
рейтинг книги
![Меняя маски](https://style.bubooker.vip/templ/izobr/no_img2.png)
Курсант: назад в СССР 9
9. Курсант
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Лорд Системы 13
13. Лорд Системы
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Кротовский, может, хватит?
3. РОС: Изнанка Империи
Фантастика:
попаданцы
альтернативная история
аниме
7.50
рейтинг книги
"Дальние горизонты. Дух". Компиляция. Книги 1-25
Собрание сочинений
Фантастика:
фэнтези
боевая фантастика
попаданцы
5.00
рейтинг книги
Месть Пламенных
6. Пламенная
Фантастика:
фэнтези
6.00
рейтинг книги
Как я строил магическую империю 6
6. Как я строил магическую империю
Фантастика:
попаданцы
аниме
фантастика: прочее
фэнтези
5.00
рейтинг книги
Идеальный мир для Лекаря 24
24. Лекарь
Фантастика:
городское фэнтези
попаданцы
5.00
рейтинг книги
Внешняя Зона
8. Real-Rpg
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Архил…? Книга 3
3. Архил...?
Фантастика:
фэнтези
попаданцы
альтернативная история
7.00
рейтинг книги
Идеальный мир для Лекаря 18
18. Лекарь
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Барон ненавидит правила
8. Закон сильного
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Идеальный мир для Лекаря 14
14. Лекарь
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Дворянская кровь
1. Дворянская кровь
Фантастика:
попаданцы
альтернативная история
7.00