Метод CreateShortcut

Этот метод позволяет создать новый или открыть уже существующий ярлык для изменения его свойств.

Приведем пример сценария, в котором создаются два ярлыка — на сам выполняемый сценарий (объект oShellLink ) и на сетевой ресурс ( oUrlLink ).

'*****************************************************************

'* Имя: MakeShortcuts.vbs

'* Язык: VBScript

'* Описание: Создание ярлыков из сценария

'*****************************************************************

Dim WshShell,oShellLink,oUrlLink

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

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

' Создаем ярлык на файл

Set oShellLink=WshShell.CreateShortcut("Current Script.lnk")

' Устанавливаем путь к файлу

oShellLink.TargetPath=WScript.ScriptFullName

' Сохраняем ярлык

oShellLink.Save

 

' Создаем ярлык на сетевой ресурс

Set oUrlLink = WshShell.CreateShortcut("Microsoft Web Site.URL")

' Устанавливаем URL

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

' Сохраняем ярлык

oUrlLink.Save

'************* Конец *********************************************

Листинг 5.5. Создание ярлыков из сценария (VBScript)

 

Метод Environment

Параметр strType задает вид переменных среды, которые будут записаны в коллекции WshEnvironment ; возможными значениями этого параметра являются "System" (переменные среды операционной системы), "User" (переменные среды пользователя), "Volatile"(временные переменные) или "Process" (переменные среды текущего командного окна).

В следующем примере (листинг 5.6) мы распечатываем число процессоров, имеющихся в компьютере с операционной системой Windows XP (переменная NUMBER_OF_PROCESSORS ), и тип операционной системы.

'*****************************************************************

'* Имя: ShowEnvir.vbs

'* Язык: VBScript

'* Описание: Получение значений некоторых переменных среды

'*****************************************************************

Dim WshShell,WshSysEnv

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

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

' Создание коллекции WshEnvironment

Set WshSysEnv = WshShell.Environment("SYSTEM")

WScript.Echo WshSysEnv("OS")

WScript.Echo WshShell.Environment.Item("NUMBER_OF_PROCESSORS")

'************* Конец *********************************************

Листинг 5.6. Получение значений переменных среды (VBScript)

Метод Run

Параметр intWindowStyle устанавливает вид окна для запускаемого приложения (табл. 5.6).

Таблица 5.6. Типы окна (intWindowStyle)
Параметр Константа Visual Basic Описание
vbHide Прячет текущее окно и активизирует другое окно (показывает его и передает ему фокус)
vbNormalFocus Активизирует и отображает окно. Если окно было минимизировано или максимизировано, система восстановит его первоначальное положение и размер. Этот флаг должен указываться сценарием во время первого отображения окна
vbMinimizedFocus Активизирует окно и отображает его в минимизированном (свернутом) виде
vbMaximizedFocus Активизирует окно и отображает его в максимизированном (развернутом) виде
vbNormalNoFocus Отображает окно в том виде, в котором оно находилось последний раз. Активное окно при этом остается активным
  Активизирует окно и отображает его в текущем состоянии
vbMinimizedNoFocus Минимизирует заданное окно и активизирует следующее (в Z-порядке) окно
  Отображает окно в свернутом виде. Активное окно при этом остается активным
  Отображает окно в его текущем состоянии. Активное окно при этом остается активным
  Активизирует и отображает окно. Если окно было минимизировано или максимизировано, система восстановит его первоначальное положение и размер. Этот флаг должен указываться, если производится восстановление свернутого окна (его нельзя использовать в методе Run )
  Устанавливает режим отображения, опирающийся на режим программы, которая запускает приложение

Необязательный параметр bWaitOnReturn является логической переменной, дающей указание ожидать завершения запущенного процесса. Если этот параметр не указан или установлен в false, то после запуска из сценария нового процесса управление сразу же возвращается обратно в сценарий (не дожидаясь завершения запущенного процесса). Если же bWaitOnReturn установлен в true, то сценарий возобновит работу только после завершения вызванного процесса.

При этом если параметр bWaitOnReturn равен true, то метод Run возвращает код выхода вызванного приложения. Если же bWaitOnReturn равен false или не задан, то метод Run всегда возвращает ноль.

Следующий сценарий (листинг 5.7) печатает код выхода вызванного приложения (Блокнот).

'********************************************************************

'* Имя: RetCode.vbs

'* Язык: VBScript

'* Описание: Вывод кода выхода запущенного приложения

'********************************************************************

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

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

' Запускаем Блокнот и ожидаем завершения его работы

Return = WshShell.Run("notepad " + WScript.ScriptFullName, 1, true)

' Печатаем код возврата

WScript.Echo "Код возврата:", Return

'************* Конец ***********************************************

Листинг 5.7. Вывод кода выхода запущенного приложения

Метод SendKeys

Каждая клавиша задается одним или несколькими символами. Например, Для того чтобы задать нажатие друг за другом букв А, Б и В нужно указать в качестве параметра для SendKeys строку "АБВ": string="АБВ".

Несколько символов имеют в методе SendKeys специальное значение: +, ^, %, ~, (, ). Для того чтобы задать один из этих символов, их нужно заключить в фигурные скобки ( {} ). Например, для задания знака плюс используется {+}. Квадратные скобки ( [] ) хотя и не имеют в методе SendKeys специального смысла, их также нужно заключать в фигурные скобки. Кроме этого, для задания самих фигурных скобок следует использовать следующие конструкции: {{} (левая скобка) и {}} (правая скобка).

Для задания неотображаемых символов, таких как <Enter> или <Tab>, и специальных клавиш в методе SendKeys используются коды, представленные в табл.5.7.

Таблица 5.7. Коды специальных клавишей для SendKeys
Названия клавиши Код Названия клавиши Код
<Backspace> {BACKSPACE}, {BS} или {BKSP} < > {RIGHT}
<Break> {BREAK} <F1> {F1}
<Caps Lock> {CAPSLOCK} <F2> {F2}
<Del> или <Delete> {DELETE} или {DEL} <F3> {F3}
<End> {END} <F4> {F4}
<Enter> {ENTER} или ~ <F5> {F5}
<Esc> {ESC} <F6> {F6}
<Home> {HOME} <F7> {F7}
<Ins> или <Insert> {INSERT} или {INS} <F8> {F8}
<Num Lock> {NUMLOCK} <F9> {F9}
<Page Down> {PGDN} <F10> {F10}
<Page Up> {PGUP} <F11> {F11}
<Print Screen> {PRTSC} <F12> {F12}
<Scroll Lock> {SCROLLLOCK} <F13> {F13}
<Tab> {TAB} <F14> {F14}
< > {UP} <F15> {F15}
< > {LEFT} <F16> {F16}
< > {DOWN}    

Для задания комбинаций клавиш с <Shift>, <Ctrl> или <Alt>, перед соответствующей клавишей нужно поставить один или несколько кодов из табл. 5.8:

Таблица 5.8. Коды клавиш <Shift>, <Ctrl> и <Alt>
Клавиша Код
<Shift> +
<Ctrl> ^
<Alt> %

Для того чтобы задать комбинацию клавиш, которую нужно набирать, удерживая нажатыми клавиши <Shift>, <Ctrl> или <Alt>, нужно заключить коды этих клавиш в скобки. Например, если требуется сымитировать нажатие клавиш G и S при нажатой клавише <Shift>, следует использовать последовательность "+(GS)". Для того же, чтобы задать одновременное нажатие клавиш <Shift>+<G>, а затем <S> (уже без <Shift>), используется "+GS".

В методе SendKeys можно задать несколько нажатий подряд одной и той же клавиши. Для этого необходимо в фигурных скобках указать код нужной клавиши, а через пробел — число нажатий. Например, {LEFT 42} означает нажатие клавиши <?> 42 раза подряд; {h 10} означает нажатие клавиши h 10 раз подряд.

В качестве примера использования методов SendKeys и AppActivate приведен сценарий RunCalc.vbs (листинг 5.8), который запускает стандартный калькулятор Windows и выполняет в нем несколько простых арифметических действий.

'*****************************************************************

'* Имя: RunCalc.vbs

'* Язык: VBScript

'* Описание: Активизация приложения с помощью имени окна

'*****************************************************************

Dim WshShell

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

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

' Запускаем Калькулятор

WshShell.Run "calc"

' Приостанавливаем сценарий на 1 секунду

WScript.Sleep 1000

' Активизируем Калькулятор

WshShell.AppActivate "Calculator"

' Приостановка сценария на 0,1 секунды

WScript.Sleep(100)

' Посылаем нажатия клавиш в Калькулятор

WshShell.SendKeys "1{+}"

WScript.Sleep 500

WshShell.SendKeys "2"

WScript.Sleep 500

WshShell.SendKeys "~"

WScript.Sleep 2500

'************* Конец *********************************************

Листинг 5.8. Стандартный калькулятор Windows

 

Объекты-коллекции

В WSH входят объекты, с помощью которых можно получить доступ к коллекциям, содержащим следующие элементы:

· параметры командной строки запущенного сценария или ярлыка Windows (объекты WshArguments, WshNamed и WshUnnamed );

· значения переменных среды (объект WshEnvironment );

· пути к специальным папкам Windows (объект WshSpecialFolders ).








Дата добавления: 2018-03-01; просмотров: 662;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.018 сек.