Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.07.2011, 20:50   #1
saylar_06
Пользователь
 
Регистрация: 01.12.2009
Сообщений: 46
По умолчанию [Вопрос]Пассивная программа

собственно, как сделать чтоб программа работала в пассивном режиме?
т.е чтоб ждала определенных действий...

Думал сделать через таймер с интервалом в 100мс, но правильно ли это? разве пассивные программы работают именно так? темболее я подумал что система будет излишне нагружаться ведь вполне вероятно что исполнение этого кода и не понадобиться...


заранее спасибо!
saylar_06 вне форума Ответить с цитированием
Старый 11.07.2011, 21:06   #2
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

а что она должна делать?
ZuBy вне форума Ответить с цитированием
Старый 11.07.2011, 21:59   #3
saylar_06
Пользователь
 
Регистрация: 01.12.2009
Сообщений: 46
По умолчанию

Цитата:
Сообщение от ZuBy Посмотреть сообщение
а что она должна делать?
ну к примеру она будет ждать появления процесса, будет искать процесс с именем 123.exe ещё к примеру будет искать программу с заголовком "Привет" в общем код думаю будет массивный...
saylar_06 вне форума Ответить с цитированием
Старый 12.07.2011, 12:44   #4
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию

Чую... Чую Кощеюшку! ©
Очень чую вирусню в этом...
Если же нет - прошу прощения.

Я бы сделал одним из двух способов:
1 - таймер на 300мс.
2 - второй поток зацикленый со слипом(300)...

Больше склоняюсь ко второму варианту.
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}
Johnson вне форума Ответить с цитированием
Старый 12.07.2011, 16:26   #5
fate
Форумчанин
 
Аватар для fate
 
Регистрация: 17.03.2009
Сообщений: 318
По умолчанию

Johnson какраз таки второй вариант будет вещать систему.
Я уже сталкивался с этим, у нас на предприятии корпоративная почта на gmail, и указание что бы сотрудники пользовались только корпоративной почтой, все остальное закрыть. Раньше я закрывал gmail и остальную почту на прокси сервере, недавно google что-то нахимичил и теперь нельзя закрыть gmail что бы работала корпоративная почта. Вот и написал я небольшую програмуленку которая в бесконечном цикле со слипом загружалась через групповую политику юзеру и мониторила открытия gmail, если открыли gmail прога сворачивает окно браузера, все работало хорошо, но много было жалоб от пользователей проц весел под 80-90% потом я переписал код по таймеру убрав цикл и все ок, работает по сей день
fate вне форума Ответить с цитированием
Старый 12.07.2011, 17:00   #6
TEHb
Пользователь
 
Регистрация: 28.01.2009
Сообщений: 32
По умолчанию

Отлавливай системные сообщения или ставь хук на CreateWindowEx библиотеке User32, а там уже FindWindow и PostMessage.
TEHb вне форума Ответить с цитированием
Старый 13.07.2011, 09:17   #7
TEHb
Пользователь
 
Регистрация: 28.01.2009
Сообщений: 32
По умолчанию

кстати вот статейка по этому поводу:

http://www.programmersclub.ru/gruzin-api-perhvat/
TEHb вне форума Ответить с цитированием
Старый 13.07.2011, 19:24   #8
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию

Цитата:
Johnson какраз таки второй вариант будет вещать систему.
А Вы поставьте в конце цикла Sleep(10); и всё отвиснет)
Это не шутка... )
В механике сего хинта не разбирался, но есть мнение, что слип останавливает поток, освобождая ресурсы другим процессам/потокам...

Цитата:
Отлавливай системные сообщения или ставь хук на CreateWindowEx библиотеке User32, а там уже FindWindow и PostMessage.
Это, какраз-таки, при неправильном использовании и затормозит систему... Не забывайте, что любой контрол - есть окно!
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}

Последний раз редактировалось Johnson; 13.07.2011 в 19:27.
Johnson вне форума Ответить с цитированием
Старый 13.07.2011, 19:49   #9
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Все зависит от того, что будет ждать ваше ПО.
Человек_Борща вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по c#(программа несложная, думаю и программисты с++ легко разберутся в синтаксисе) welcomeTo Общие вопросы C/C++ 8 20.11.2010 20:45
Программа типа Вопрос - Ответ Polotenchik Общие вопросы Delphi 6 20.06.2010 22:25
Программа бронирования номеров. Вопрос по структуре. Kuziv Microsoft Office Access 1 15.08.2009 02:35
Вопрос наверное про функции, а так точно даже не знаю про что. (Вопрос начинющего #6) Albert2008 Общие вопросы Delphi 4 21.08.2008 15:33
вопрос по сокетам и общение как в ICQ.Сложный вопрос... Руслантус Общие вопросы C/C++ 2 12.08.2008 21:10