Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Мышиный шпион )))  (Прочитано 7474 раз)
0 Пользователей и 1 Гость смотрят эту тему.
acc15
Гость
« : 13-11-2005 23:01 » 

Короче требуется :
Программа следит за мышью и пишет каждые её действия в файл.

как мне думается это хук... но... должен стоять считающий таймер который будет засекать интервал времени между вызовами хуковой процедуры, чтобы в последующем можно было "проиграть" ранее сделанные действия... вот как мне сделать этот таймер? который считает промежутки времени???
Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #1 : 14-11-2005 14:17 » 

А зачем тебе Таймер. Это все можно реализовать при помоши вызовов функций времени. В начале иницилизации просто ставиш метку времени. Когда хук сработал, вызываеш функцию времени еше раз, делаеш разницу. Вот тебе и время между двумя действиями.
Смотри функции:
GetSystemTime   -   Функция выдает системное время.
GetTickCount     -    Функция выдает время работы Винды после запуска в милисекундах. Я бы выбрал эту функцию. НО у функции есть одно но. Как написано в MSDN через 49,7 дней число будет сброшено в нуль.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
acc15
Гость
« Ответ #2 : 14-11-2005 16:28 » 

GetTickCount... то шо нада... переполнение можно обойти... спасибо
« Последнее редактирование: 14-11-2005 16:37 от acc15 » Записан
sandyru
Гость
« Ответ #3 : 15-11-2005 14:19 » 

typedef struct tagMSG
{
HWND hwnd;
UINT message;
WPARAM wParam;
LPARAM lParam;
DWORD time;
POINT pt;
} MSG;
time — время , когда сообщение было помещено в очередь сообщений
Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #4 : 15-11-2005 14:58 » 

sandyru Тут такая проблема. А вообше сообшение в чью очередь сообшений помешено. И помешено ли вообше. Так как Сообшение так такового не было у приложения. Просто сработал хук.  Функция обратного вызова Хука
Код:
LRESULT CALLBACK HookProc(
int nCode,
WPARAM wParam,
LPARAM lParam)
Как видиш, тут нет информации о времени. И делать вызов функции GetMessageTime тоже бесмысленно.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines