Прошу прощения за поднятие давно избитой темы, но прочитав горы документации так и не смог понять как сделать следующее:
Есть глобальный хук например на мышь. Как реализовать таймер (в самой dll), который например срабатывает если в течение TimeOut времени не было никаких сообщений от мышки? То есть в контексте текущего процесса задача тревиальна — известен ID таймера устанавливаем флаг и все тут понятно. Буду очень благодарен, если кто-нибудь разъяснит что делать с учетом отображения dll в контекст другого процесса — ведь тогда и ID установленного таймера и какие бы то ни было флаги теряют смысл (обнуляются грубо говоря). Заранее спасибо за любую информацию по этому поводу!
Здравствуйте, DreamTraveler, Вы писали:
DT>...
Расшарить сегмент данных библиотеки. Далее всё как будто задача тривиальна
Здравствуйте, Everon, Вы писали:
E>Здравствуйте, DreamTraveler, Вы писали:
DT>>...
E>Расшарить сегмент данных библиотеки. Далее всё как будто задача тривиальна
Это единственное решение данной проблемы? Ведь насколько мне известно использование шаренных ресурсов не очень желательно. Или я ошибаюсь?
P.S. В любом случае спасибо за идею. Буду пробовать.
Здравствуйте, DreamTraveler, Вы писали:
DT>Это единственное решение данной проблемы?
Ну мне с ходу другого не представляется
DT>Ведь насколько мне известно использование шаренных ресурсов не очень желательно. Или я ошибаюсь?
Ничего подобного, очень даже полезно

Кроме того, вам же не обязательно все данные делать разделяемыми. Достаточно создать ещё один сегмент, и поместить в него переменную-флаг, которая будет устанавливаться/сбрасываться в хук-процедуре, а анализироваться в таймере, тикающем уже в вашей программе...
Здравствуйте, Everon, Вы писали:
E>Здравствуйте, DreamTraveler, Вы писали:
DT>>Это единственное решение данной проблемы?
E>Ну мне с ходу другого не представляется
DT>>Ведь насколько мне известно использование шаренных ресурсов не очень желательно. Или я ошибаюсь?
E>Ничего подобного, очень даже полезно
Кроме того, вам же не обязательно все данные делать разделяемыми. Достаточно создать ещё один сегмент, и поместить в него переменную-флаг, которая будет устанавливаться/сбрасываться в хук-процедуре, а анализироваться в таймере, тикающем уже в вашей программе...
В общем — делается главная программа, которая и занимается основной логикой, а из хук-длл-ек как-то в нее сообщается, шаред секция это как-то не очень, наверное лучче какойнить IPC (мапированый расшареный файл, оконные сообщения, итп)