home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 10 / 10.iso / l / l430 / 1.ddi / CHAP6.ZIP / EVNTHOOK.ASM < prev    next >
Encoding:
Assembly Source File  |  1992-06-10  |  1011 b   |  44 lines

  1. ;
  2. ;    EVNTHOOK.ASM -- Event hook routine for SETEHOOK.C
  3. ;
  4. ;    From Chapter 6 of "Undocumented Windows" (Addison-Wesley 1992)
  5. ;    by Andrew Schulman, Dave Maxey and Matt Pietrek
  6. ;
  7. ;    Build using: WINIOBC SETEHOOK EVNTHOOK (for Borland C++ v3.00)
  8. ;                 WINIOMS SETEHOOK EVNTHOOK (for Microsoft C/SDK)
  9. ;
  10. ;    SETEHOOK.C must be compiled SMALL model
  11.  
  12. ;; Event hook function - subroutine of SETEHOOK.C ;;
  13.  
  14.     .286P
  15.  
  16.         PUBLIC  _EventHook
  17.         EXTRN   _wEvent : word
  18.         EXTRN   _wKeyInfo : word
  19.  
  20. DGROUP  GROUP       _DATA
  21. _DATA   segment     WORD PUBLIC 'DATA'
  22.  
  23. _DATA   ends
  24.  
  25. _TEXT   segment     BYTE PUBLIC 'CODE'
  26.  
  27. _EventHook  proc far
  28.         assume  cs:_TEXT, ds:_DATA
  29.         push    ds
  30.         pusha
  31.         mov     si, _DATA
  32.         mov     ds, si
  33.         mov     word ptr [_wEvent], ax
  34.         mov     word ptr [_wKeyInfo], cx
  35.         popa
  36.         pop     ds
  37.         ret
  38.             
  39. _EventHook  endp        
  40.  
  41. _TEXT   ends
  42.  
  43.         end
  44.