событие другого приложения

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Varaktor
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 15.09.2007 (Сб) 10:50

событие другого приложения

Сообщение Varaktor » 15.09.2007 (Сб) 11:16

Можно ли отловить событие, происходящее в другом приложении? Почитал, как здесь пинают чайников, постараюсь изъясниться максимально конкретно. Нужда в следующем: антивирусная база (папка с файлами) обновляется с нета, необходимо сразу после этого скопировать эту папку в два места. Сделал через FileWatcher. Работает, но меняется обычно несколько файлов, соответственно возникает несколько событий и папка копируется несколько раз (и столько же раз докладывается об исполнении). В то же время сам антивирусник после окончания обновления выдает сообщение об этом. Можно ли как-нибудь отловить это событие (сообщение антивиря) и привязаться к нему? Спасибо за помощь.

Ronin
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 635
Зарегистрирован: 13.02.2002 (Ср) 14:16
Откуда: Россия, Москва

Сообщение Ronin » 18.09.2007 (Вт) 17:54

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

Либо еще вариант.. Когда начинается изменение одного файла, делай паузу минут на 5-15 (на твой выбор) и тогда копируй папку и не бойся ничего
С уважением,
Игорь Шувалов aka Ronin

student-uni
Бывалый
Бывалый
 
Сообщения: 242
Зарегистрирован: 01.10.2005 (Сб) 18:54

Сообщение student-uni » 20.10.2007 (Сб) 16:54

Но список обновляемых файлов же известен ?
Почему бы по каждому событию "Файл Вотчер"
не анализировать какие файлы обновились?

Положим обновляется от 3х до 5ти файлов
Но какой то один обновляется в любом случае всегда.
Вот только по его обновлению и копировать папку.

Varaktor
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 15.09.2007 (Сб) 10:50

Сообщение Varaktor » 12.12.2007 (Ср) 21:46

Спасибо, Ronin. лучше поздно, чем никогда. Я поставил таймер - задержку на 3 секунды. Этого оказалось достаточно, чтобы прошла вся куча сообщений и обновление выполнилось один раз. Теперь эта незамысловатая программка живет у меня в системном трее и каждый день по нескольку раз радует меня ленивого. Кстати, Student-uni, я как раз и отслеживаю состояние одного итогового файла, который есть всегда и изменяется при каждом обновлении. И он один генерит несколько событий. В MSDN написано, что так оно и должно быть. Поскольку проблему я свою решил, глубже рыться не стал. Спасибо за помощь.


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 88

    TopList