![]() |
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]() ![]() ![]() |
|
Vetos |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 4.4.2005 Репутация: нет Всего: 4 |
Моя программа не запускается повторно, т.е. если есть копия.
При проверке копии она передаёт ей фокус и отрубается, надо чтоб отключался и таймер только в копии. Знаю что нифига не понятно,но просмотрев код всё становится ясно. Вот код:
Пожалуйсто помогите. Если что не понятно задайте вопрос, я отвечу, просто я не знаю как сформулировать это правильно. Заранее спасибо. ![]() -------------------- Строить нужно так, чтоб никто не сломал! А ломать, чтоб никто не знал 8) :ne_huliganit |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 9 Всего: 98 |
самый простой способ заведи ыторой мьютекс и проверяй его при старте. если мюютекс занят -- мы к копии (можно включать таймер)
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
Vetos |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 4.4.2005 Репутация: нет Всего: 4 |
Дело в том что таймер в копии включен, а его нужно выключить из только запущенной копии, и отроубить запущенную копию.
Твой вариант я не совсем понял. -------------------- Строить нужно так, чтоб никто не сломал! А ломать, чтоб никто не знал 8) :ne_huliganit |
|||
|
||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 13 Всего: 146 |
а где сам таймер?
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
Vetos |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 4.4.2005 Репутация: нет Всего: 4 |
Сам таймер находиться в модуле.
В принципе мне нужно найти в чужой программе компонет TTimer и отрубить его. Просто я не знаю команд для этой операции. -------------------- Строить нужно так, чтоб никто не сломал! А ломать, чтоб никто не знал 8) :ne_huliganit |
|||
|
||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 13 Всего: 146 |
в другой проге( она твоя ксати?)
только один таймер или их там много? -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
Vetos |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 4.4.2005 Репутация: нет Всего: 4 |
Прога моя, таймер один, если запускаем её ещё раз то показываем уже запущенную, отрубаем в ней таймер, выходим.
Всё реализовано кроме отключения таймера. -------------------- Строить нужно так, чтоб никто не сломал! А ломать, чтоб никто не знал 8) :ne_huliganit |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 9 Всего: 98 |
в смысле? копия твоя? в ней (в таймере) и проверяй наличие второго (предварительно запущенного) экземпляра. или под копией ты понимаеш первым запущенное приложение? тамер убивается функцией KillTimer или Enabled в false поставиь... -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 13 Всего: 146 |
я бы сделал через глобальное сообщение, если пришло таймер гасим
а так .... найти трудно сам таймер имхо в чужом коде -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
Vetos |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 4.4.2005 Репутация: нет Всего: 4 |
Прога одна - моя. Это журнал. после регистрации в журнале прога скрывается, включается таймер, по истечению которого прога показывается. При запуске проги повторно, показываем ранее запущенную, отрубаем в ней таймер и выходим. Т.е. при повторном запуске должна появиться уже запущенная, как будто-бы запустилась только-что. Я не знаю команд типа FindWindowEx чтобы убить таймер. Таймер нужно убить в уже запущенной проге. Это сообщение отредактировал(а) Vetos - 6.2.2007, 13:53 -------------------- Строить нужно так, чтоб никто не сломал! А ломать, чтоб никто не знал 8) :ne_huliganit |
|||
|
||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 13 Всего: 146 |
ничего умнее мне в голову не приходит ,
написать хук на WM_TIMER и не давать ему хода -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 9 Всего: 98 |
значит делай так: запускаемый екземпляр проверяет мьютекс (тот, что у тебя есть) и если он занят -- устанавливает событие (CreateEvent...) . в таймере проверяй наличие этого события. если оно есть -- выполняй KillTimer для себя же. все... -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 7 Всего: 115 |
Для этого есть функция KillTimer
Эта функция по заголовку программы убьёт все таймеры, но только в приложении на Delphi
Это сообщение отредактировал(а) RA - 6.2.2007, 23:51 |
|||
|
||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 13 Всего: 146 |
на это интересно посмотреть подразумеваю по хистенсу сортировка имхо достаточно и application.handle -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 7 Всего: 115 |
Romikgy, Дык речь идёт о чужом приложении как я понял
Добавлено @ 14:36
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: WinAPI и системное программирование" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |