Особенностью синтаксиса данного метода является то, что при использовании всех параметров скобки ( ) опускаются.

Необязательные параметры:

intWindowStyle - стиль окна запускаемого приложения

bWaitOnReturn - может принимать значение true или false, указывающее, следует ли сценарию дожидаться окончания выполнения запущенного приложения. true - выполнение сценария приостанавливается до тех пор, пока не будет закрыто запущенное приложение. false - не дожидаться.

Значения, принимаемые параметром intWindowStyle:

 

Значение Описание
Запуск в скрытом виде
Обычный размер окна, если окно свернуто или развернуто на весь экран, то ему возвращается исходный вид и положение на экране
Запуск в свернутом виде
Развернутое на весь экран
Запуск в обычном размере, в неактивном состоянии (без фокуса)
Обычный размер в неактивном состоянии, но в фокусе остается запустившее приложение

Метод Run не может вызвать приложение, если оно расположено в папке, путь к которой содержит пробелы. В этом случае путь надо заключить в тройные кавычки.

В качестве примера, с помощью метода Run запустим программу Блокнот, с загруженным вызывающим сценарием.

Dim WshShell

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

Set WshShell = WScript.CreateObject("WScript.Shell")

'Вызываем Блокнот и добавляем к нему в качестве параметра

'путь исполняемого сценария:

WshShell.Run ("%windir%\notepad " & WScript.ScriptFullName)

 

Специальные папки Windows

Для получения пути к специальным папкам Windows типа Мои документы, Рабочий стол и т.д. используется свойство SpecialFolders объекта WshShell.

Синтаксис:

object.SpecialFolders(objWshSpecialFolders)

где

object - объект WshShell;

objWshSpecialFolders – специальная папка.

 

objWshSpecialFolders Название папки
Desktop Рабочий стол
Favorites Избранное
Fonts Шрифты
MyDocuments Мои документы
NetHood Пустая папка, используемая в качестве шаблона для сетевой среды.
PrintHood Принтеры
Programs Программы, меню “Пуск”
Recent Раздел просмотренных документов, меню “Пуск”
SendTo Отправить
StartMenu Меню “Пуск”
Startup Автозагрузка
Templates Шаблоны

Кроме вышеперечисленных папок в Windows 2000 доступны:

AllUsersDesktop, AllUsersStartMenu, AllUsersPrograms, и AllUsersStartup.

 

Для перебора всех элементов коллекции можно применять операторы цикла For или For Each ...In, указав имя коллекции WshShell.SpecialFolders. Свойство Count содержит количество элементов в коллекции.

 

В качестве примера составим сценарий, узнающий адрес папки “Рабочего стола”.

 

Dim WshShell, DesktopPath

Set WshShell = CreateObject("WScript.Shell")

'получаем путь к рабочему столу:

DesktopPath = WshShell.SpecialFolders("Desktop")

MsgBox "Адрес рабочего стола: " + DesktopPath

 

 

Создание ярлыков

Для создания ярлыков используется метод CreateShortcut

Синтаксис:

object.CreateShortcut(strPathname)

где

object - объект WshShell

strPathname - имя и полный путь к ресурсу, для которого создается ярлык (например, это может быть файл, интернет-адрес и т.д.).

Для демонстрации метода CreateShortcut создадим на нашем рабочем столе ярлык блокнота.

В самом процессе создания ярлыка можно выделить несколько этапов:

1. Собственно создание ярлыка.

2. Установка его свойств.

3. Сохранения ярлыка с установленными свойствами

Начнем с первого пункта создадим ярлык на рабочем столе

 

Dim WshShell, DesktopPath, Nshortcut

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

Set WshShell = CreateObject("WScript.Shell")

'получаем путь к нашему рабочему столу:

DesktopPath = WshShell.SpecialFolders("Desktop")

'создаем ярлык:

Set NShortcut = WshShell.CreateShortcut(DesktopPath & "\Блокнот.lnk")

 

На втором этапе мы должны установить следующие свойства ярлыка, такие как:

TargetPath – имя ресурса на который ссылается ярлык.

WindowStyle – стиль запускаемого окна.

Может принимать следующие значения:

1 – открыть как обычное окно;

3 – раскрыть на весь экран;

7 – запустить в свернутом виде.

HotKey – устанавливает клавиши быстрого вызова

IconLocation – расположение иконки ярлыка, файлы .exe и .dll могут содержать несколько значков, номера которых начинаются с 0. Можно использовать библиотеки значков, например Moricons.dll или Shell32.dll, находящиеся в папке Windows или во вложенной папке \System.Можно также присвоить путь для .bmp .ico-файла.

Description – всплывающая подсказка (комментарий)

WorkingDirectory – устанавливает рабочий каталог, который приложение использует для хранения временных и других файлов.

 

И, на самом последнем этапе создания ярлыка, мы сохраняем установленные свойства и сам ярлык методом Save.

Таким образом, наш сценарий полностью будет иметь следующий вид:

VBScript:

Dim WshShell, DesktopPath, Nshortcut

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

Set WshShell = CreateObject("WScript.Shell")

'получаем путь к нашему рабочему столу:

DesktopPath = WshShell.SpecialFolders("Desktop")

'создаем ярлык:

Set NShortcut = WshShell.CreateShortcut(DesktopPath & "\Блокнот.lnk")

'С помощью функции API "%windir%" получаем путь к папке

'WINDOWS и Блокноту и помещаем полученный путь в

'TargetPath:

NShortcut.TargetPath = "%windir%\notepad.exe"

'Устанавливаем обычный стиль окна:

NShortcut.WindowStyle = 1

'Клавиши быстрого вызова:

NShortcut.Hotkey = "CTRL+ALT+f"

'Путь к файлу иконки:

NShortcut.IconLocation = "notepad.exe, 0"

'Устанавливаем всплывающую подсказку:

NShortcut.Description = "Ярлык блокнота"

'Устанавливаем в качестве рабочей папки - Рабочий стол:

NShortcut.WorkingDirectory = DesktopPath

'Сохраняем настройки и сам ярлык:

NShortcut.Save

 

Кроме ярлыков к локальным ресурсам можно создавать ярлыки Интернета. Создадим ярлык адреса компании Microsoft.

 

Dim WshShell, UrlLink

Set WshShell = WScript.CreateObject("WScript.Shell")

Set UrlLink = WshShell.CreateShortcut("Microsoft.URL")

UrlLink.TargetPath = "http://www.microsoft.com"

UrlLink.Save