Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Методы и свойства объекта WshShell




 

В работе Объект WshShell служит для работы с переменными окружения Windows, специальными папками, запускает другие программы, создает ярлыки и т.д. Для его использования его необходимо создать методом CreateObject.

Set WshShell = CreateObject(“WScript.Shell”)

 

Информация о системе

 

Объект WshShellСвойство Environment объекта WshShell, позволяет работать с системными переменными окружения. Для этого создается объект WshEnvironment

Синтаксис:   

WshShell.Environment([strType])

где

strType – может принимать параметры "System", "User", "Volatile" или "Process" .

Значение “Volatile" используется для работы с данными, передаваемыми другими программами, а "System", "User" и "Process" используются для работы с системными данными.

Таблица системных данных среды, доступных с помощью значений "System", "User" и "Process"

 

Значение

Описание

Где присутствует

System ыser Process
NUMBER_OF_PROCESSORS Количество процессоров на данном компьютере X - X
PROCESSOR_ARCHITECTURE Тип процессора X - X
PROCESSOR_IDENTIFIER Расширенные данные о процессоре X - X
PROCESSOR_LEVEL Поколение процессора X - X
OS Операционная система X - X
COMSPEC Путь к файлу командной строки (cmd.exe или command.com) X - X
HOMEPATH Каталог по умолчанию для пользователей     X
HOMEDRIVE Первый локальный диск (обычно С:) - - X
PATH Заданные системные пути X X X
PATHEXT Исполняемые файлы (.exe , .com и т.д.) X - X
SYSTEMDRIVE Диск на котором находится директория с операционной системой - - X
SYSTEMROOT Директория Windows - - X
WINDIR Директория Windows X - X
TEMP или TMP Папка для временных файлов - X X

 

ОбъектEnvironment, как и все коллекции WSH, имеет свойство Count, в котором хранится число элементов коллекции, и метод Item.

Следующий пример выводит на экран некоторые системные данные VBScript:

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

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

'создаем объект Environment со значением PROCESS:

Set WshProEnv = WshShell.Environment("PROCESS")

SysInfo = "Системные параметры компьютера:" + Chr(10)+ Chr(10)

SysInfo = SysInfo + "Процессоров: " + _

WshProEnv("NUMBER_OF_PROCESSORS") + Chr(10)

 SysInfo = SysInfo + "Директория Windows: " + _

WshProEnv("WINDIR") + Chr(10)

SysInfo = SysInfo + "Временнаяпапка: " + WshProEnv("TEMP") + Chr(10)

MsgBox SysInfo

 

Запуск приложений

 

С помощью метода Run объекта WshShell мы можем запускать другие приложения.

Синтаксис:

object.Run (strCommand, [intWindowStyle], [bWaitOnReturn])

где

object - объект WshShell

strCommand - исполняемая команда

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

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

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

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

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

 

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

Метод 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 или ForEach ...In, указав имя коллекции WshShell.SpecialFolders. Свойство Count содержит количество элементов в коллекции.

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

Dim WshShell, DesktopPath

Set WshShell = CreateObject("WScript.Shell")

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

DesktopPath = WshShell.SpecialFolders("Desktop")

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

 

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

Для создания ярлыков используется метод 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.

 

DimWshShell, UrlLink

SetWshShell = WScript.CreateObject("WScript.Shell")

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

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

UrlLink.Save










Последнее изменение этой страницы: 2018-04-12; просмотров: 512.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...