Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Резиденты

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
Эдель
Гость





СообщениеДобавлено: Сб Авг 21 2004 09:39    Заголовок сообщения: Резиденты Ответить с цитатой

Здравствуйте, Уважаемые!

Каким образом я могу на сибилдере написать резидент, который будет олвейз_он_топ, отслеживая перемешения мышки по всей системе и выводя это у себя в, скажем, Листбоксе?

Заранее спасибо
Вернуться к началу
RealMode



Зарегистрирован: 26.04.2004
Сообщения: 21

СообщениеДобавлено: Сб Авг 21 2004 21:03    Заголовок сообщения: Ответить с цитатой

Этот "резидент" (доля правды в этом есть Wink ) во-первых должен находиться в DLL, а сам механизм "ловли" любых сообщений системы ( в том числе и от мыши) осуществляется установкой т.н. хуков - ловушек сообщений (функции SetWindowsHookEx, CallNextHookEx, UnHookWindowsHook и т.д.). Программа же вызывает процедуру установки этих ловушек из DLL и получает сообщения, на которые собственно были установлены ловушки - можно например установить только для сообщений от мыши, или от клавиатуры и т.д. или от всего сразу Rolling Eyes ...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
GeX



Зарегистрирован: 03.01.2004
Сообщения: 60
Откуда: Россия, Иркутск

СообщениеДобавлено: Пн Авг 23 2004 09:51    Заголовок сообщения: Ответить с цитатой

Еще можно добавить что находиться в DLL самой проге необязательно и невозможно (как ты ее запускать будешь, RunDLL-ом только). А вот сам обработчик хука обязательно должен быть в DLL-ке. И постарайся его сделать наиболее оптимизированным, потому что он влияет на производительность всей системы.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Эдель
Гость





СообщениеДобавлено: Ср Авг 25 2004 10:03    Заголовок сообщения: Ответить с цитатой

Тогда совсем тупой вопрос - как написать длльку.
Я только недавно занялся С++, поэтому многого еще не понимаю
Вернуться к началу
dAnIK SeNT



Зарегистрирован: 11.06.2004
Сообщения: 43
Откуда: Казань

СообщениеДобавлено: Чт Авг 26 2004 14:05    Заголовок сообщения: Ответить с цитатой

Эдель писал(а):
Тогда совсем тупой вопрос - как написать длльку.
Я только недавно занялся С++, поэтому многого еще не понимаю

В билдере это скорее всего задается при создании проекта - делаешь New DLL. Это укажет компилятору на то, что требуется скомпилировать именно DLL. После этого пишешь код по определённым правилам - во-первых, должна быть функция, обрабатывающая некоторые стандартные действия (как, например, создание/уничтожение экземпляра DLL) - эта функция, почти 100% будет сгенерирована из стандартного шаблона при создании проекта. во-вторых, надо создать несколько экспортируемых функций, выполняющих нужные действия. В билдере для того, чтобы сделать функции экспортируемыми, их, скорее всего, надо перечислить в разделе exports где-нибудь в начале кода. Все подробности по написанию DLL легко найти в хелпе.
После того как будет скомпилирована dll-ка, содержащая несколько экспортируемых функций, надо будет создать программу-влдельца, которая будет эту dll-ку регистерить в качестве хука. ИЗ этой проги надо будет лишь вызвать соответствующую функцию API (поищи в хелпе по апям по слову Hook). И всё будет рулиться.
Могу выложить свою небольшую прогу, которую навалял когда-то для блокирования клавиши Win (в Дьяблу, понимаешь, играть было неудобно Smile). Дольше 10 минут тратить на написание проги не хотелось, вот я и сделал тем, что под руку попалось. А под руку попались именно хуки Smile.
Прожка тупая - запускаешь exe-шник, он создаёт иконку в трее и регает хук. По щелчку на иконке прога выгружается.
Но сразу предупрежу - код для MSVC++, с билдером я ни разу не работал, даже не видел его Smile
_________________
Cисадмин - образ жизни. Программист - диагноз...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...