Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> SetTimer and KillTimer 
V
    Опции темы
Romikgy
Дата 22.5.2009, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 13
Всего: 146



Можно ли погасить таймер вызваный SetTimer из другого приложения KillTimer зная ID таймера ?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Rrader
  Дата 22.5.2009, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Inspired =)
***


Профиль
Группа: Экс. модератор
Сообщений: 1535
Регистрация: 7.5.2005

Репутация: 29
Всего: 191



Можно, нужно знать еще Handle создавшего окна.

Добавлено через 3 минуты и 20 секунд
P.S. Если таймер создан с нулевым окном, то посложнее будет


--------------------
Let's do this quickly!
Rest in peace, Vit!
PM MAIL Skype   Вверх
Romikgy
Дата 23.5.2009, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 13
Всего: 146



окно тоже знаю , как грохнуть таймер?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Rrader
  Дата 23.5.2009, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Inspired =)
***


Профиль
Группа: Экс. модератор
Сообщений: 1535
Регистрация: 7.5.2005

Репутация: 29
Всего: 191



KillTimer(Handle, ID) вестимо smile 


--------------------
Let's do this quickly!
Rest in peace, Vit!
PM MAIL Skype   Вверх
Romikgy
Дата 23.5.2009, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 13
Всего: 146



прикольно как все просто оказалось.....
перепроверю))


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Rrader
  Дата 23.5.2009, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Inspired =)
***


Профиль
Группа: Экс. модератор
Сообщений: 1535
Регистрация: 7.5.2005

Репутация: 29
Всего: 191



Нет ничего удивительного - таймер, как и окно, имеют общую кровь (из _gSharedInfo) и удаляются из чужого процесса smile

KillTimer -> NtUserKillTimer (ValidateHwnd) -> _KillTimer -> KillTimer2 -> FindTimer -> FreeTimer -> HMFreeObject


--------------------
Let's do this quickly!
Rest in peace, Vit!
PM MAIL Skype   Вверх
Romikgy
Дата 23.5.2009, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 13
Всего: 146



Цитата(Rrader @  23.5.2009,  15:59 Найти цитируемый пост)
KillTimer -> NtUserKillTimer (ValidateHwnd) -> _KillTimer -> KillTimer2 -> FindTimer -> FreeTimer -> HMFreeObject 

за такое и плюс накинуть не жалко ))))
кса а как то можно увидеть весь список таймеров у окна ?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Rrader
  Дата 23.5.2009, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Inspired =)
***


Профиль
Группа: Экс. модератор
Сообщений: 1535
Регистрация: 7.5.2005

Репутация: 29
Всего: 191



Цитата(Romikgy @  24.5.2009,  00:18 Найти цитируемый пост)
кса а как то можно увидеть весь список таймеров у окна ? 

Только с помощью драйвера недокументированными способами. Дело в том, что указатель на  "голову" таймера
Код

  PTIMER = ^TIMER;
  TIMER = packed record
    head: HEAD;
    ptmrNext: PTIMER;
    ptmrPrev: PTIMER;
    pti: PTHREADINFO;
    spwnd: PWND;
    nID: UINT;
    cmsCountdown: Integer;
    cmsRate: Integer;
    flags: UINT;
    pfn: TIMERPROC_PWND;
    ptiOptCreator: PTHREADINFO;
  end;

указывает на ядерную область памяти.


--------------------
Let's do this quickly!
Rest in peace, Vit!
PM MAIL Skype   Вверх
Romikgy
Дата 26.5.2009, 20:46 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 13
Всего: 146



Цитата(Rrader @  23.5.2009,  14:52 Найти цитируемый пост)
KillTimer(Handle, ID)

работает 100 % 
еще раз сибо


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0478 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.