Андрей Попов - Windows Script Host для Windows 2000/XP
//Выбираем иконку из файла notepad.exe
oShellLink.IconLocation = "notepad.exe, 0";
//Сохраняем ярлык
oShellLink.Save();
/************* Конец *********************************************/
Свойство WindowStyle
Значением свойства WindowStyle является целое число intWindowStyle, которое может принимать значения, приведенные в табл. 1.17.
Таблица 1.17. Значения параметра intWindowStyle
IntWindowStyle Описание 1 Стандартный размер РѕРєРЅР°. Если РѕРєРЅРѕ было минимизировано или максимизировано, то Р±СѓРґСѓС‚ восстановлены его первоначальные размеры Рё расположение РЅР° экране 3 РћРєРЅРѕ РїСЂРё запуске приложения будет развернуто РЅР° весь экран (максимизировано) 7 РћРєРЅРѕ РїСЂРё запуске приложения будет свернуто РІ значок (минимизировано)ВСвойство WorkingDirectory
В следующем примере (листинг 1.23) создается ярлык для Блокнота, причем в качестве рабочего каталога указан корневой каталог диска С:.
Листинг 1.23. Создание ярлыка на Блокнот с комбинацией горячих клавиш/*****************************************************************/
/* РРјСЏ: MakeShortcut5.jsВ В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В */
/* Язык: JScript                                                */
/* Описание: Создание ярлыка на Блокнот с изменением рабочего   */
/*          каталога                                           */
/*****************************************************************/
var WshShell,oShellLink;
//Создаем объект WshShell
WshShell = WScript.CreateObject("WScript.Shell");
//Создаем ярлык в текущем каталоге
oShellLink = WshShell.CreateShortcut("Notepad.lnk");
//Устанавливаем путь к файлу
oShellLink.TargetPath = "notepad.exe";
//Назначаем рабочий каталог
oShellLink.WorkingDirectory = "c:\";
//Сохраняем ярлык
oShellLink.Save();
/************* Конец *********************************************/
Объект WshShortcut имеет единственный метод Save, который сохраняет заданный ярлык в каталоге, указанном в свойстве FullName.
Объект WshUrlShortcut
РЎ помощью объекта WshUrlShortcut можно создать новый ярлык для сетевых ресурсов или изменить свойства уже существующего ярлыка. Ртот объект, как Рё WshShortcut, можно создать только СЃ помощью метода CreateShortcut объекта WshShell.
В следующем примере (листинг 1.24) создается сетевой ярлык для сайта www.microsoft.com.
Листинг 1.24. Создание сетевого ярлыка/*****************************************************************/
/* РРјСЏ: MakeShortcut6.jsВ В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В */
/* Язык: JScript                                                */
/* Описание: Создание сетевого ярлыка для www.microsoft.com     */
/*****************************************************************/
var WshShell,oUrlLink;
//Создаем объект WshShell
WshShell = WScript.CreateObject("WScript.Shell");
//Создаем ярлык в текущем каталоге
oUrlLink = WshShell.CreateShortcut("Microsoft Web Site.URL");
//Устанавливаем путь к сайту
oUrlLink.TargetPath = "http://www.microsoft.com";
//Сохраняем ярлык
oUrlLink.Save();
/************* Конец *********************************************/
Объект WshUrlShortcut имеет два свойства: FullName и TargetPath, которые полностью аналогичны одноименным свойствам рассмотренного выше объекта WshShortcut.
Также у объекта WshUrlShortcut имеется метод Save, с помощью которого ярлык сохраняется в каталоге, указанном в свойстве FullName.
Другие примеры работы с ярлыками с помощью объекта WshShortcut приведены в главе 2 (см. листинги 2.43 и 2.44).
Запуск процессов на локальной и удаленной машине
РР· сценариев WSH 5.6 можно РЅР° локальной машине запускать дочерние процессы, имея РїСЂРё этом доступ Рє РёС… стандартным входным/выходным потокам Рё контролируя С…РѕРґ выполнения этих процессов. Для этих целей предназначен объект WshScriptExec.
Кроме этого, имеется возможность запустить сценарий, файл с которым находится на локальной машине, на другой удаленной машине. Для выполнения сценариев на удаленных машинах и обработки ошибок, возникающих в таких сценариях, используются объекты WshController, WshRemote и WshRemoteError.
Объект WshScriptExec
В WSH 5.6 появилась возможность при помощи метода WshShell.Exec запускать консольное приложение или сценарий как дочерний процесс выполняемого сценария, т.е. с теми же переменными среды, что и у процесса-родителя. Метод WshShell.Exec выполняет командную строку, указанную в качестве его параметра, и возвращает объект WScriptExec, свойства и методы которого предоставляют информацию о запущенной задаче и обеспечивают доступ к ее стандартным потокам ввода/вывода и ошибок (обработка этих потоков необходима в силу того, что непосредственно на экране строки, выводимые дочерним приложением, не появляются).
Отметим также, что с помощью метода WshShell.Exec можно запускать и графические оконные Windows-приложения. В этом случае создаваемый объект WshScriptExec полезен тем, что он позволяет получить идентификатор запущенного процесса (Process ID, PID), который затем можно использовать для активизации задачи при помощи метода WshShell.AppActivate.