устанавливаем схему уведомлений, использующую таймер.
' Because Visual Basic isn't thread-safe
' устанавливаем схему уведомлений, использующую таймер. Однако сообщение
' может оказаться заблокированным, потому что вся обработка сосредоточена
' в единственном потоке. Эта функция позволяет вручную проверять
' состояния window create и window destroy.
Notifier.CheckNotification
' Панель сообщений в процедуре событий NotepadNotification_CreateWindow
' блокирована, поэтому код закрытия Блокнота не будет выполняться до тех
'пор, пока панель сообщений не будет очищена,
tInput.PlayKeys "%FX"
tSystem.Pause 50
tlnput.PlayKeys "{TAB}-"
' Снова проверить уведомление.
Notifier.CheckNotification
' Дать TNotify шанс перехватить сообщение о ликвидации окна.
tSystem.Pause 100
' Отсоединить уведомления. Если вы не сделаете этого в WSH, деструктор
' класса никогда не получит вызова, так что уведомление останется
' активным в таблице уведомлений.
WScript.DisconnectObject Notifier
Set Notifier = Nothing
Sub NotepadNotificationCreateWindow ( twin)
MsgBox ( "Notepad was created!")
End Sub
Sub NotepadNotificationDestroyWindow ()
MsgBox ( "Notepad has gone away....")
End Sub
Время от времени необходимо вызывать метод TNotify checkNotification. (причины изложены чуть позже, в разделе "Реализация утилиты Tester" данной главы). Периодический вызов метода checkNotification гарантирует, что сообщения уведомлений могут проходить, несмотря на то, что в языке, который вы выбрали, может отсутствовать цикл сообщений. Код листинга 13-2 показывает, как нужно использовать панель сообщений в процедурах уведомлений о событиях, хотя применение панели сообщений в реальных сценариях нежелательно, потому что это может вызвать проблемы, неожиданно изменяя окно, обладающее фокусом.
Имейте также в виду, что количество уведомлений ограничено пятью, поэтому нельзя применять TNotify для общих задач сценария, таких как ожидание появления диалогового окна
File Save.
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий