Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2004.07.18;
Скачать: [xml.tar.bz2];

Вниз

отслеживание запуска программы   Найти похожие ветки 

 
lehich ©   (2004-06-01 15:14) [0]

мастера поскажите как лучше сделать следующую вещь:
нужно чтобы програмка тихонько себе сидела в трее и отслеживала запуск программ... при совпадении заголовка запущенной программы с определенной переменной окно бы закрывалось...

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

заранее премного благодарен...


 
stany ©   (2004-06-01 15:16) [1]

да вряд-ли есть более элегантное решение, IMHO только скан всех окон на совпадение...


 
lehich ©   (2004-06-01 15:25) [2]

ваше мнение какой интервал оптимально ставить???


 
stany ©   (2004-06-01 15:30) [3]

непростой вопрос, когда мне нужно было делать аналогичные вещи я ставил 500-2000 мс


 
lehich ©   (2004-06-01 16:13) [4]

насколько это грузит комп??? (p4-2,0-256) заметит юзер???


 
Kair ©   (2004-06-01 16:25) [5]

200 - 500 мс.

Жить будет... :)


 
WebErr ©   (2004-06-01 16:52) [6]

5 секунд - максимум.
Если окно с позарез нужной кому-то инфой, то интервал резко уменьшается! :)


 
DeadMeat ©   (2004-06-01 17:41) [7]

> lehich ©
Тебе в http://delphimaster.net/view/4-1083248098/ или в http://delphimaster.net/view/4-1083248098/

---
...Death Is Only The Begining...


 
SammIk ©   (2004-06-01 17:43) [8]

А хук слабо поставить?


 
lehich ©   (2004-06-01 17:48) [9]

2DeadMeat нуууууу... этаааааа... вообщем первый и единственный пост в первом линке начинается фразой "Почему отказывается работать код?" думаю это мне не очень подойдет...((((( и естественно то, что там указаны 95/98 винды и Д5 портит дело... а во втором линке вопрос о собственном шеле... зачем мне так усложнять дело если можно просто интервально обрубать ненужные проги???
но все равно спасибо...

2Kair спасибо...

2WebErr если не сложно можно поподробнее откуда взялся интервал в 5 сек???


 
lehich ©   (2004-06-01 17:49) [10]

2SammIk очень был бы признателен если объяснили мне непутевому какой хук???


 
Digitman ©   (2004-06-01 18:07) [11]


> lehich ©   (01.06.04 17:49) [10]



>  какой хук???


глобальный

но имей ввиду, что этот механизм позволит отслеживать запуски только GUI-приложений ... для отслеживания старта консольных приложений, сервис-приложений и ДОС-задач хук-механизм не подходит


 
SammIk ©   (2004-06-01 18:14) [12]

Согласен с высказываением [11].
Можно пробовать через интервалы времени, снимать
список процессов и не нужные отрубать.
Ппроверить на нужность\не нужность можно с помощью
crc32.


 
lehich ©   (2004-06-01 21:27) [13]

2SammIk вас из дас crc32 еслни не сложно плыз поподробнее...


 
lehich ©   (2004-06-02 10:57) [14]

сорри что повторяюсь, но нельзя ли поподробнее о crc32????


 
AleXqwq ©   (2004-06-02 12:06) [15]

А вы не подумали если юзер переменит название проги или окна, тогда совпадение заголовка не будет. Через ето я прошел и не имею пока решения задачю


 
RagE   (2004-06-02 16:19) [16]

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


 
serge ©   (2004-06-02 16:34) [17]

WH_CBT, WH_SHELL ???
А про хуки есть статейка на сайте.


 
lehich ©   (2004-06-02 17:24) [18]

2AleXqwq  эти юзеры не переменят...))))

2serge статейку нашел... сейчас читаю...))))


 
DeadMeat ©   (2004-06-02 18:05) [19]

> [16] RagE   (02.06.04 16:19)
Приложений или окон...?? В смысле отслеживать запуск процессов или создание окон

---
...Death Is Only The Begining...


 
lehich ©   (2004-06-03 09:09) [20]

2DeadMeat отслеживать запуск программ... (нужно чтобы работники не играли в игры..)


 
RagE   (2004-06-03 18:12) [21]

2 DeadMeat
необходимо отслеживать процессы
Пробовал отлавливать WH_SHELL и проверять если WINDOWCREATED
тогда DestroyWindow но вся эта пурга не заработала
Если можно приведите кусочек кода плиз.

Еще такой вопрос. Написал только что хук который перехватыет нажатия клавиш. Так вот почему то некоторые программы от этого страдать начинают. Может кто подскажет как это делать правильно?


 
DeadMeat ©   (2004-06-03 18:37) [22]

> [20] lehich ©   (03.06.04 09:09)
см. [19]... программ=приложений... Уточните поЗалуста...

> [21] RagE   (03.06.04 18:12)
А как ты ставил хук...?? Как это всё не работало...?? В тех ссылках есть подобные вопросы с ответами... Да и попробуй вместо DestoyWindow делать TerminateProcess...

---
...Death Is Only The Begining...


 
RagE   (2004-06-04 09:48) [23]

2 DeadMeat
хук ставил в длл, вобщем все как описано в куче подобных статей. Меня интересует больше вот что. Что нужно возвращать в результате и всегда ли необходимо запускать следущий хук?
По поводу перехвата нажатых клавиш: все работает только вот почему то такая программа как ICQ начинает зверски матюкаться.
Длл взял готовую из какой то статьи на этом сайте только поменял там проверку на нажатую клавишу.
Кстати есть еще такая особенность. В статье рекомендуют использовать файл подкачки для передачи нужных данных процессам. Но у меня такой метод работает только под 98, под 2000 и хп приходится вырезать этот кусок кода


 
Сергей Ю.   (2004-06-04 12:34) [24]

Я у себя раз в секунду проверяю список запущенных процесов (код был взят из этого форума), сверяюсь со списком допустимых и если что то TerminateProccess, под 98-ой все прекрасно работает, как правило окна прог даже появляться неуспевают.


 
Сергей Ю.   (2004-06-04 12:39) [25]

Я у себя раз в секунду проверяю список запущенных процесов (код был взят из этого форума), сверяюсь со списком допустимых и если что то TerminateProccess, под 98-ой все прекрасно работает, как правило окна прог даже появляться неуспевают.


 
lehich ©   (2004-06-04 14:42) [26]

2Сергей Ю. можно если не сложно линк на скачку исходников???

заранее премного благодарен...


 
DeadMeat ©   (2004-06-04 18:31) [27]

> [23] RagE   (04.06.04 09:48)
Строчка из F1 по SetWindowsHookEX
If nCode is less than zero, the hook procedure must pass the message to the CallNextHookEx function without further processing and should return the value returned by CallNextHookEx

---
...Death Is Only The Begining...


 
DeadMeat ©   (2004-06-04 18:32) [28]

Пардон... После F1 надо ещё на ShellProc щелкнуть...

---
...Death Is Only The Begining...


 
RagE   (2004-06-08 14:30) [29]

2 DeadMeat
Дык я уже как только не пробовал. Уже не знаю на что и грешить даже. В итоге пока совсем отказался от хука на клавиатуру. Воспользовался метод проскочившем здесь недавно на форуме с REgisterHotKey



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2004.07.18;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.51 MB
Время: 0.028 c
8-1083120022
zsv
2004-04-28 06:40
2004.07.18
Звук


4-1086339528
SigalX
2004-06-04 12:58
2004.07.18
Смена активного привода CD


1-1088754602
Tahion2
2004-07-02 11:50
2004.07.18
Нарисовать текст в HICON


8-1083349209
GlavBOTan
2004-04-30 22:20
2004.07.18
Wave-header


4-1086445997
AndersoNRules
2004-06-05 18:33
2004.07.18
Analog <winnt.h>





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский