Visual Basic Script


Windows Script Host (WSH) - управление программами



Возможно, читая статьи о WSH, вы задавались вопросом: "Да что такого особенного в этом скрипте?". Действительно, править реестр можно и из reg-файлов, запускать программы, работать с сетевыми дисками, файлами и папками можно из bat-файлов. Да, WSH имеет более богатые возможности в этой области, работать с ним проще и удобнее, но стоят ли эти преимущества того, чтобы изучать данную тему? Для особо сомневающихся в этой статье я хочу затронуть такую область при работе на компьютере, где бессильны все остальные средства (за исключением специально написанных программ). А речь в ней пойдет о возможности управлять другими приложениями Windows (консольными приложениями для MS-DOS управлять не удастся).

В этот раз теории будет совсем немного, зато я постараюсь привести много очень любопытных примеров, ну, а дальше все будет зависеть от вашей фантазии.

Итак, что я подразумеваю под управлением другими приложениями? Активизацию существующего окна и имитацию нажатия в нем различных клавиш клавиатуры. Люди для этого пишут умные и сложные программы, а мы напишем простенький скрипт с тем же эффектом.

Начнем с того, что попытаемся активизировать окно уже запущенной программы.

//JScript var WshShell = WScript.CreateObject("WScript.Shell"); WshShell.AppActivate("Блокнот");

Для активизиции окна мы воспользовались методом WshShell.AppActivate(). В качестве параметра передается какая-то текстовая строка. Скрипт осуществляет поиск окна, название которого эквивалентно переданной строке. Если такого окна нет, то будет вестись поиск окна, начало заголовка которого совпадает со строкой и в последнюю очередь ведется поиск окна, окончание заголовка которого эквивалентно переданной строке. Это очень удобно, т.к., например, в Word'e заголовок окна меняется в зависимости от имени редактируемого файла, но начало всегда "Microsoft Word". Если окон, удовлетворяющих условию поиска несколько, то активизируется первое найденное окно. Надо отметить, что если окно программы свернуто на панель задач, то оно не разворачивается, а просто кнопка приложения становится "нажатой".




Начало    Вперед