Объект
С помощью объекта WshUrlShortcut
можно создать новый ярлык для сетевых ресурсов или изменить свойства уже существующего ярлыка. Этот объект, как и WshShortcut
, можно создать только с помощью метода CreateShortcut
объекта WshShell
.
В следующем примере (листинг 1.24) создается сетевой ярлык для сайта www.microsoft.com.
/*****************************************************************/
/* Имя: 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
приведены в
Запуск процессов на локальной и удаленной машине
Из сценариев WSH 5.6 можно на локальной машине запускать дочерние процессы, имея при этом доступ к их стандартным входным/выходным потокам и контролируя ход выполнения этих процессов. Для этих целей предназначен объект WshScriptExec
.
Кроме этого, имеется возможность запустить сценарий, файл с которым находится на локальной машине, на другой удаленной машине. Для выполнения сценариев на удаленных машинах и обработки ошибок, возникающих в таких сценариях, используются объекты WshController
, WshRemote
и WshRemoteError
.
Объект
В WSH 5.6 появилась возможность при помощи метода WshShell.Exec
запускать консольное приложение или сценарий какWshShell.Exec
выполняет командную строку, указанную в качестве его параметра, и возвращает объект WScriptExec
, свойства и методы которого предоставляют информацию о запущенной задаче и обеспечивают доступ к ее стандартным потокам ввода/вывода и ошибок (обработка этих потоков необходима в силу того, что непосредственно на экране строки, выводимые дочерним приложением, не появляются).
Отметим также, что с помощью метода WshShell.Exec
можно запускать и графические оконные Windows-приложения. В этом случае создаваемый объект WshScriptExec
полезен тем, что он позволяет получить идентификатор запущенного процесса (Process ID, PID), который затем можно использовать для активизации задачи при помощи метода WshShell.AppActivate
.
Объект WScriptExec
имеет единственный метод Terminate
, с помощью которого можно прервать выполнение дочернего процесса.
Например:
var WshShell=WScript.CreateObject('WScript.Shell');
var ChildJob = WshShell.Exec('cscript ChildScript.js');
ChildJob.Terminate();
Метод Terminate
пытается закрыть приложение, посылая ему сообщение WM_CLOSE
. Если это не срабатывает, задача завершается принудительно. Методом Terminate
нужно пользоваться только в крайнем случае, т.к. некоторые приложения, завершенные таким способом, не полностью освобождают ресурсы. Поэтому, как правило, лучше дождаться, когда запущенная задача сама закончит свою работу.
Свойства объекта WshScriptExec
описаны в табл. 1.18.
WshScriptExec
Свойство | Описание |
---|---|
ExitCode | Содержит код выхода, устанавливаемый дочерней задачей при завершении выполнения |
ProcessID | Содержит идентификатор процесса (ProcessID, PID), которому соответствует объект WshScriptExec |
Status | Содержит информацию о ходе выполнения дочерней задачи |