Код (Text): obrabotka_hook proc nCode :DWORD, wParam :WPARAM, lParam :LPARAM ;cmp nCode,0 ;je exit mov ebx, lParam assume ebx: ptr MSG ;mov ecx, [ebx].message mov eax,DWORD PTR [ebx] cmp eax ,WM_MOUSEMOVE ;jne exit ;запись mov ecx,offset massiv mov eax,[ebx].hwnd;MSG.hwnd mov [ecx],eax add ecx,4 mov eax,[ebx].message mov [ecx],eax add ecx,4 mov eax,[ebx].wParam mov [ecx],eax add ecx,4 mov eax,[ebx].lParam mov [ecx],eax add ecx,4 mov eax,[ebx].time mov [ecx],eax add ecx,4 mov eax,DWORD PTR[ebx].pt mov [ecx],eax invoke MessageBeep,0FFFFFFFFh assume ebx: nothing invoke CallNextHookEx,h_hook,nCode,wParam,lParam invoke UnhookWindowsHookEx,h_hook ret ;exit: invoke CallNextHookEx,h_hook,nCode,wParam,lParam ;ret obrabotka_hook endp play_hook proc uses ebx nCode :DWORD, wParam :WPARAM, lParam :LPARAM mov ebx, lParam assume ebx: ptr MSG mov eax,DWORD PTR [ebx] ;cmp nCode ,0;верно ;jl CallNext;верно mov ecx,offset massiv mov eax,[ecx];MSG.hwnd mov [ebx].hwnd,eax add ecx,4 mov eax,[ecx];MSG.hwnd mov [ebx].message,eax add ecx,4 mov eax,[ecx];MSG.hwnd mov [ebx].wParam,eax add ecx,4 mov eax,[ecx];MSG.hwnd mov [ebx].lParam,eax add ecx,4 mov eax,[ecx];MSG.hwnd mov [ebx].time,eax add ecx,4 mov eax,[ecx];MSG.hwnd mov DWORD PTR [ebx].pt , eax invoke MessageBeep,0FFFFFFFFh invoke CallNextHookEx,h_hook,DWORD PTR [esp+04h],DWORD PTR [esp+08h],DWORD PTR [esp+0ch] invoke UnhookWindowsHookEx,h_hook ret play_hook endp postavit_hook proc;здесь ставим хуук invoke SetWindowsHookEx,WH_JOURNALRECORD,offset obrabotka_hook,HINST,0 mov h_hook,eax ret postavit_hook endp мож кто знает почему неработает _315302427__SetWindowsHookE_o_mouse.asm