|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
06.10.2014, 11:54 | #1 |
Пользователь
Регистрация: 20.05.2014
Сообщений: 29
|
Вопрос по ловушкам
Здравствуйте, возник вопрос.
Может он и дилетантский, но ответа в интернете на него не нашел. Буду благодарен за маленький ликбез)) Допустим я ставлю глобальную ловушку на то или иное событие, например перемещение мыши, вот оно происходит, вызывается процедура обратного вызова, которая делает какие-то длительные вычисления, в это время до возврата ею управления опять происходит это событие, то что произойдет в этом случае? |
06.10.2014, 12:07 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Ничего. Пока твой хук не отработает система не ответит. По факту если в хуке будет цикл типа while true do ; винда тупо зависнет.
I'm learning to live...
|
06.10.2014, 13:03 | #3 |
Пользователь
Регистрация: 20.05.2014
Сообщений: 29
|
Видимо я чего-то не понял, но такой код:
Код:
|
06.10.2014, 13:33 | #4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Ну тут я не объясню. Мои хуки на ХР вешали систему намертво. Если я там тяжелые вычисления ставил.
I'm learning to live...
|
06.10.2014, 13:42 | #5 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
06.10.2014, 14:00 | #6 | ||
Пользователь
Регистрация: 20.05.2014
Сообщений: 29
|
Цитата:
Впрочем, это не важно так как в приведенном выше примере эта часть кода не исполняется) А вопрос с ловушкой так и не решился... |
||
06.10.2014, 15:18 | #7 |
Ваш К. О.
Участник клуба
Регистрация: 26.12.2012
Сообщений: 1,782
|
Мне кажется, что не нужно забивать себе голову. Реентерабельность вызовов -- задача ОС, если речь не о DOS идет. Вероятней всего, события мыши отправляются ловушкам асинхронно, раз зависания не происходит.
|
09.10.2014, 13:21 | #8 |
Участник клуба
Регистрация: 08.10.2007
Сообщений: 1,185
|
Не знаю насчёт всех хуков, но как минимум *_LL могут прибиваются системой по таймауту (где-то в реестре ключ есть с максимальным временем).
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вопрос | Kolaps | Общие вопросы C/C++ | 4 | 26.04.2012 15:15 |
Вопрос по VB 6 | JackRND | Помощь студентам | 0 | 17.02.2010 20:33 |
Вопрос по mySQL + Вопрос по RichEdit | HTL | Общие вопросы Delphi | 4 | 01.01.2010 20:22 |
Вопрос наверное про функции, а так точно даже не знаю про что. (Вопрос начинющего #6) | Albert2008 | Общие вопросы Delphi | 4 | 21.08.2008 15:33 |
вопрос по сокетам и общение как в ICQ.Сложный вопрос... | Руслантус | Общие вопросы C/C++ | 2 | 12.08.2008 21:10 |