Форум: "WinAPI";
Текущий архив: 2016.07.24;
Скачать: [xml.tar.bz2];
ВнизПерехватить wm_timer Найти похожие ветки
← →
ParamPam (2010-06-19 16:17) [0]Приветствую всех!!!
Пытаюсь написать хук обрабатывающий WM_TIMER
Прилагаю код функции из DLL
function SysMsgProc(code : integer; wParam : word; lParam : longint; Message: longint) : longint; stdcall;
begin
if (code < 0) then
begin
SysMsgProc := CallNextHookEx(SysHook, code, wParam, lparam);
Exit;
end;
if (TMSG(pointer(lParam)^).message = WM_TIMER) then
begin
messagebox(0, pchar("WM_TIMER - " + inttostr(message)), pChar("WM_TIMER"), mb_YesNoCancel);
end;
SysMsgProc := CallNextHookEx(SysHook, code, wParam, lparam);
end;
Вызываю эту функцию
SetWindowsHookEx(WH_GETMESSAGE, @SysMsgProc, HInstance, 0)
В результате не выдается ни одного сообщения.
Может кто знает в чем тут проблема?
← →
KilkennyCat © (2010-06-19 18:47) [1]нет ни одного таймера - нет сообщений.
← →
ParamPam (2010-06-19 19:26) [2]В том то и дело, что таймер есть. Запускал несколько приложений с таймером.
← →
Rouse_ © (2010-06-19 19:42) [3]wParam не Word имеет тип
← →
ParamPam (2010-06-19 19:54) [4]Поменял на longint, это не помогло.
← →
Rouse_ © (2010-06-19 20:03) [5]Ось какая?
← →
ParamPam (2010-06-19 20:04) [6]Windows XP SP3.
← →
Rouse_ © (2010-06-19 20:06) [7]Результат выполнения SetWindowsHookEx какой?
← →
Rouse_ © (2010-06-19 20:08) [8]и еще messagebox на лог в файл хотя-бы замени...
← →
ParamPam (2010-06-19 20:11) [9]Результат выполнения SetWindowsHookEx = 552476
← →
ParamPam (2010-06-19 20:13) [10]
> и еще messagebox на лог в файл хотя-бы замени...
Там так и будет, но на период отладки я использую messagebox.
← →
Сергей М. © (2010-06-21 10:25) [11]
> таймер есть. Запускал несколько приложений с таймером
Вот пример запуска таймера, не использующего механизм сообщений:
MyTimer := SetTimer(0,0,1000, @MyCallback);
Таймер чудесно работает безо всяких WM_TIMER.
Ы ?
← →
Сергей М. © (2010-06-21 10:28) [12]Вру)
Имелось ввиду что WH_GETMESSAGE не "поймает" WM_TIMER в колбеке
← →
ParamPam (2010-06-22 19:57) [13]Я предполагаю, что кто то будет имеено так использовать функцию, но в программе с которой я проверял все должно было пройти великолепно. А как тогда еще можно отлавливать включение таймера?
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2016.07.24;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.006 c