Отследить открытие программы

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
AndrewMarcovich
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 115
Зарегистрирован: 05.03.2005 (Сб) 10:29

Отследить открытие программы

Сообщение AndrewMarcovich » 19.05.2006 (Пт) 15:02

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

AndrewMarcovich
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 115
Зарегистрирован: 05.03.2005 (Сб) 10:29

Сообщение AndrewMarcovich » 19.05.2006 (Пт) 15:04

Да,и забыл сказать,что программа-абсолютно сторонняя,то есть это я не за своей прогой слежу:)

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 19.05.2006 (Пт) 15:06

Если программа не твоя, то другого способа нет. Только FindWindow по таймеру...

[edit] Пользуйся редактированием!!!! а то модератор придет и...[/edit]
Последний раз редактировалось Viper 19.05.2006 (Пт) 15:08, всего редактировалось 1 раз.
Весь мир матрица, а мы в нем потоки байтов!

AndrewMarcovich
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 115
Зарегистрирован: 05.03.2005 (Сб) 10:29

Сообщение AndrewMarcovich » 19.05.2006 (Пт) 15:07

А если он её открыл и закрыл через 3 секунды?Таймер ставить на 2?:)

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 19.05.2006 (Пт) 15:10

А таймер ставить на рузумный интервал... Если есть смысл отловить открытие проги на 3 секнды, то надо интервал делать меньше, если такое открытие не существенно, то можно и больший интервал поставить
Весь мир матрица, а мы в нем потоки байтов!

AndrewMarcovich
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 115
Зарегистрирован: 05.03.2005 (Сб) 10:29

Сообщение AndrewMarcovich » 19.05.2006 (Пт) 15:12

Мда,не очень-то хорошо получается...Ну ладно,спасибо за ответ

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 19.05.2006 (Пт) 17:43

Гм... А перехватить ZwCreateProcess не судьба?
А я все практикую лечение травами...

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 19.05.2006 (Пт) 18:05

Действительно, вариант, но будет ли он проще, чем отслеживание по таймеру?
Весь мир матрица, а мы в нем потоки байтов!

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 19.05.2006 (Пт) 18:08

Нет. Проще он не будет.
Зато будет эффективнее.
Ты не думал о тех процессах, которые не имеют окон?
А я все практикую лечение травами...

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Re: Отследить открытие программы

Сообщение Viper » 19.05.2006 (Пт) 18:13

AndrewMarcovich писал(а):Нужно следить,отмечать время открытия программы. А конкретно-окна этой программы.


Дык это автор хочеть отслеживать окна
Весь мир матрица, а мы в нем потоки байтов!

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 19.05.2006 (Пт) 18:15

Ну не совсем... :wink:
Автор писал(а):есть ли другой способ?
А я все практикую лечение травами...

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 19.05.2006 (Пт) 18:23

Есть ли другой способ чего? Отслеживания появления окна или отслеживания момента запуска программы...

Видимо надо подождать разъяснений автора. Какова все-таки первоначальная цель, зачем понадобилась необходимость отслеживания появления окон и/или запуска программ.
Весь мир матрица, а мы в нем потоки байтов!

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 19.05.2006 (Пт) 18:28

Нужно следить,отмечать время открытия программы.
Но:
А конкретно-окна этой программы
Видишь ли, AndrewMarcovich, заголовок и даже класс окна может повториться совсем не в том процессе, которые тебе нужен. Поэтому 100-ой гарантии, что результат слежки будет верным нет. Если нужно отловить создание процесса, то тут без перехвата не обойтись. Причем перехватывать нужно именно ZwCreateProcess, так как другие функции, такие как CreateProcess, WinExec, ShellExecute все равно вызывают ZwCreateProcess...
А я все практикую лечение травами...

AndrewMarcovich
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 115
Зарегистрирован: 05.03.2005 (Сб) 10:29

Сообщение AndrewMarcovich » 20.05.2006 (Сб) 8:51

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

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 20.05.2006 (Сб) 9:46

AndrewMarcovich писал(а):А это через API работает-ZwCreateProcess?


Странный вопрос... ZwCreateProcess - это и есть одна из API-функций
Весь мир матрица, а мы в нем потоки байтов!


Вернуться в Visual Basic 1–6

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

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

    TopList  
cron