![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Суть проблемы в следующем: ловушка на
щелчки мыши, встроенная в тело исполняемой пр-мы(не dll), полностью перестает обрабатывать сообщения стоит только отправить машину в ждущий, спящий режимы. То есть она просто остается болтаться в процессах, не выполняя никакой полезной работы. Ошибка в результате внесенных мною в код изменений исключается, т.к. пробовал запускать чистый hook с единственной сигнализацией в виде диалог. сообщения - итог тот же. Можно ли исправить это поведение программы? Если же это принципиально невозможно, то может быть есть способ отслеживать возвращение из спящего, ждущего и прочих режимов и перезапускать процесс самостоятельно(остается надеятся, что это крайний случай). Буду благодарен ответившим. |
#2
|
||||
|
||||
![]() ловушка application-defined или library-defined? hMod и dwThreadId какие?
Пишу программы за еду. __________________ |
#3
|
|||
|
|||
![]() Да, ловушка прописана в exe-шнике
Все может быть, быть может все и лишь того не может быть, чего совсем уж быть не может. |
#4
|
|||
|
|||
![]() hMOD и, насколько я могу судить - идентификатор процесса отсутствуют)) Я полный дилетант в библиотеках, собственно, в первый раз за нее и взялся, и почему-то не нашел им места в своем незамысловатом творении.. Так то все работает прекрасно, но лишь до тех пор, пока не машина не уходит в энергосберегающий режим.
Все может быть, быть может все и лишь того не может быть, чего совсем уж быть не может. |
#5
|
||||
|
||||
![]() переделай в dll
Пишу программы за еду. __________________ |
#6
|
|||
|
|||
![]() Цитата:
Переделал. Теперь такая оказия: баги начинают плодиться именно на выгрузке, но с условием, что не было закрыто хотя бы одно из чужих окон, куда был произведен правый щелчок мыши. Вот, собственно, сам модуль dll. Подсказали, что проблема в финализации, но ума не приложу какая финализация здесь требуется, кроме разве что высвобождения единственного popupmenu.. Код:
Все может быть, быть может все и лишь того не может быть, чего совсем уж быть не может. |
#7
|
||||
|
||||
![]() Посмотри, может что и пригодится.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#8
|
|||
|
|||
![]() angvelem: Это круто, спасибо. Законченная, а главная полезная програмка. Когда то делал для себя что-то подобное, но это
вкуснее будет! ![]() ![]() Все может быть, быть может все и лишь того не может быть, чего совсем уж быть не может. |
#9
|
||||
|
||||
![]() Я бы на твоём месте писал на WinAPI, пробем меньше будет.
По поводу меню: Код:
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
Этот пользователь сказал Спасибо angvelem за это полезное сообщение: | ||
Inkognito (01.02.2013)
|
#10
|
|||
|
|||
![]() Цитата:
Все может быть, быть может все и лишь того не может быть, чего совсем уж быть не может. |
#11
|
||||
|
||||
![]() Ну так и перепиши вызов меню на WinAPI, совсе не сложно. Ещё проще, если оно будет создано в ресурсном файле.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#12
|
|||
|
|||
![]() Придется..
Все может быть, быть может все и лишь того не может быть, чего совсем уж быть не может. |