Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.05.2012, 18:01   #1
BLACK_RAIN
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 867
По умолчанию Вызов SetTimer в чужих окнах

есть две программы. Обе написаны на WINAPI.
программа 1 должна изменить таймер в одном из окон программы 2.
ID таймера я знаю.
KillTimer для чужих окон срабатывает, а SetTimer нет.
что и как нужно сделать?
BLACK_RAIN вне форума Ответить с цитированием
Старый 03.05.2012, 18:26   #2
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

SetTimer
Цитата:
[in] Handle to the window to be associated with the timer. This window must be owned by the calling thread. If this parameter is NULL, no window is associated with the timer and the nIDEvent parameter is ignored.
Внедриться в чужую программу и вызвать SetTimer в том потоке, которому принадлежит окно. Однако хук надо, не ?
EUGY вне форума Ответить с цитированием
Старый 03.05.2012, 19:16   #3
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,742
По умолчанию

...а если доступны обе программы в исходниках, что мешает реализовать механизм обмена сообщениями и "не лохматить бабушку"?
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 04.05.2012, 10:44   #4
BLACK_RAIN
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 867
По умолчанию

Цитата:
Сообщение от RAXP
...
окна, в которых нужно изменять таймер, не всегда созданы моими программами. Соответственно, их исходников нет.
Цитата:
Сообщение от EUGY Посмотреть сообщение
Внедриться в чужую программу и вызвать SetTimer в том потоке, которому принадлежит окно. Однако хук надо, не ?
мои попытки внедрения заканчиваются неудачами. Делал по статьям из интернета.
покажите пример, что именно и как внедрять.
про хук вас не понял.
BLACK_RAIN вне форума Ответить с цитированием
Старый 04.05.2012, 13:26   #5
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,742
По умолчанию

Цитата:
не всегда созданы моими программами
откуда тогда уверенность, что там есть SetTimer() ?
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 04.05.2012, 14:18   #6
BLACK_RAIN
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 867
По умолчанию

Цитата:
Сообщение от raxp Посмотреть сообщение
откуда тогда уверенность, что там есть SetTimer() ?
в каком смысле "есть"?
я понимаю, что если окно не обрабатывает сообщение WM_TIMER, то от SetTimer не будет никакого толка.
но, допустим, я вижу, что в окне тикают часы (к примеру), то вероятнее всего, это окно использует таймер.
если программа использует таймер WinAPI, то его можно изменить, вызвав функцию "SetTimer".
допустим, это будет не моя программа и ее исходников у меня нет.
как именно внедриться в процесс и вызвать там SetTimer?
получать PID процесса по хэндлу его окна я умею!
BLACK_RAIN вне форума Ответить с цитированием
Старый 04.05.2012, 14:22   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

я лично так и не понимаю зачем SetTimer то?
создать новый таймер чтоль?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 04.05.2012, 14:25   #8
BLACK_RAIN
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 867
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
я лично так и не понимаю зачем SetTimer то?
создать новый таймер чтоль?
изменить время тикания текущего таймера, при условии, что известен его ID и известно, что этот таймер WinAPI.

Последний раз редактировалось BLACK_RAIN; 04.05.2012 в 14:58.
BLACK_RAIN вне форума Ответить с цитированием
Старый 04.05.2012, 15:00   #9
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,742
По умолчанию

Цитата:
но, допустим, я вижу, что в окне тикают часы (к примеру), то вероятнее всего, это окно использует таймер
совсем не факт, это может быть просто поток с обращением к функциям вызова системного времени.

Вы "заморозить время" для чужой программы хотите?
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 04.05.2012, 15:23   #10
BLACK_RAIN
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 867
По умолчанию

Цитата:
Сообщение от raxp Посмотреть сообщение
Вы "заморозить время" для чужой программы хотите?
почему все всегда начинают докапываться "зачем тебе это надо"???
если бы надо было заморозить время, я бы просто вызвал KillTimer.
мне надо изменить время тикания текущего таймера в окне, созданным чужим процессом.
что в этом плохого? Я же не сайт ЦРУ хочу взломать, а просто изменить время таймера.
я задал конкретный вопрос: "как вызвать функцию SetTimer с нужными аргументами в чужом процессе?". И не важно, будет ли результат таким, каким я его представляю.
если вы знаете, как это сделать, то напишите рабочий пример.

Последний раз редактировалось BLACK_RAIN; 04.05.2012 в 15:35.
BLACK_RAIN вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Таймер SetTimer и глюки с ним Jugger Win Api 2 09.03.2012 20:21
Settimer в winx64 не работает, рушит Excel?! budda999 Microsoft Office Excel 9 07.01.2012 13:43
Отследить изменение курсора в чужих окнах Lime Общие вопросы Delphi 2 02.07.2009 19:17
SetTimer, KillTimer NeiL Win Api 5 05.03.2008 07:37