Сейчас на форуме: Rio, YDS, _MBK_ (+10 невидимых)

 eXeL@B —› Основной форум —› SetTimer
Посл.ответ Сообщение

Ранг: 2.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 16 марта 2006 15:36
· Личное сообщение · #1

При вызове ф-ии SetTimer не указан конкретно адрес процедуры вызываемой по таймеру.
Как в таком случае его определить?

0045AE12 . 8B4B 20 MOV ECX,DWORD PTR DS:[EBX+20]
0045AE15 . 56 PUSH ESI ; /Timerproc
0045AE16 . 68 F4010000 PUSH 1F4 ; |Timeout = 500. ms
0045AE1B . 68 57040000 PUSH 457 ; |TimerID = 457 (1111.)
0045AE20 . 51 PUSH ECX ; |hWnd
0045AE21 . 89B3 00020000 MOV DWORD PTR DS:[EBX+200],ESI ; |
0045AE27 . FF15 B4A86000 CALL DWORD PTR DS:[<&USER32.SetTimer>] ; \SetTimer
0045AE2D . 6A 01 PUSH 1
0045AE2F . 8BCB MOV ECX,EBX



Ранг: 7.4 (гость)
Активность: 0=0
Статус: Участник

Создано: 16 марта 2006 15:42
· Личное сообщение · #2

в таком случае сообщение WM_TIMER будет идти процедуре окна




Ранг: 420.3 (мудрец)
Активность: 0.240
Статус: Участник

Создано: 16 марта 2006 15:42
· Личное сообщение · #3

Yarik пишет:
0045AE15 . 56 PUSH ESI ; /Timerproc

А посмотреть значение регистра ESI?

-----
Сколько ни наталкивали на мысль – все равно сумел увернуться




Ранг: 2.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 16 марта 2006 15:45
· Личное сообщение · #4

В ESI в этот момент 0.

В программе ограничение работы на один час.Если я NOPлю этот таймер ограничения нет,но не работают ещё и другие нужные функции.




Ранг: 500.6 (!), 7thx
Активность: 0.260
Статус: Участник

Создано: 16 марта 2006 16:46
· Личное сообщение · #5

Может нужно нопить процедуру, вызывающую сеттаймер, а не сам таймер.
Он может использоваться другими процедурами.



Ранг: 60.4 (постоянный)
Активность: 0.030
Статус: Участник

Создано: 16 марта 2006 17:29
· Личное сообщение · #6

Таймер через заданные промежутки времени выдаёт сообщение WM_TIMER. Думаю надо копать в обработчике этого сообщения (отрубать не весь таймер, а только кусок, который ограничивает время работы)



Ранг: 2.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 20 марта 2006 19:45
· Личное сообщение · #7

Vedrus пишет:
Думаю надо копать в обработчике этого сообщения

А как в Олли "поймать" этот обработчик?



Ранг: 309.8 (мудрец), 21thx
Активность: 0.170
Статус: Участник

Создано: 20 марта 2006 20:27
· Личное сообщение · #8

> А как в Олли "поймать" этот обработчик?
смотри значение константы WM_TIMER и ищи в коде сравнение uMsg с ним...

-----
Shalom ebanats!



 eXeL@B —› Основной форум —› SetTimer
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати