Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Проблемы с установкой хука в C++ Builder 5

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
urikus
Гость





СообщениеДобавлено: Пт Окт 25 2002 10:07    Заголовок сообщения: Проблемы с установкой хука в C++ Builder 5 Ответить с цитатой

Нужно сделать ловушку, кот воспроизводить ранее записанные сообщения().
Как я понимаю надо создать ловушку и отправлять сообщения хуку JournalPlayback.
Только я не могу назначить проге ловушку JournalPlayback. Может что не так делаю..
Вот код... Мне нужно сделать ловушку без использования dll.
Ф-ция SetWindowsHookEx возвращает NULL, не может установить ловушку...
Может проблема в описании PlayHook ?

LRESULT CALLBACK PlayHook(int nCode, WPARAM wParam, LPARAM lParam) {
static EVENTMSG em;
long old=-1;
static flag=0;
DWORD dwRead;
MSG Msg;

switch(nCode) {
case HC_GETNEXT:
*(EVENTMSG *)lParam = em;
if (flag) return 0;
flag = 1;
if (old == -1 && em.time) {
old = em.time;
return 0;
}
return em.time-old;
break;
case HC_SKIP:
if (old != -1 && em.time) old = em.time;
ReadFile(hFile, &em, sizeof(em), &dwRead, NULL);
flag = 0;
if (dwRead != sizeof(em)) {
flag = 0;
old = -1;
return 0;
}
break;
}
return CallNextHookEx(jph, nCode, wParam, lParam);
}
//--------------------------------------------- ------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
HINSTANCE hInstance;
HANDLE handle;
HWND hwnd;
hwnd = FindWindow(NULL,"Form1");
handle = Application->Handle;
hInstance = (HINSTANCE)Application->Handle;
hFile = CreateFile(filename, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL);
jph = SetWindowsHookEx(WH_JOURNALPLAYBACK, (HOOKPROC)PlayHook,hwnd,0);
}
Вернуться к началу
AndyC
Гость





СообщениеДобавлено: Пн Окт 28 2002 08:54    Заголовок сообщения: Re: Проблемы с установкой хука в C++ Builder 5 Ответить с цитатой

Я ставил так:

HOOKPROC hp;
hp=(HOOKPROC)функция;
hk=SetWindowsHookEx(WH_JOURNALPLAYBACK,
hp,GetWindowTask(форма_где_функция->Handle),NULL);

Вероят но дело в GetWindowTask.
Вернуться к началу
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...