Browse Source

+ added the win16api windows hook support functions

git-svn-id: trunk@31814 -
nickysn 10 years ago
parent
commit
79968e4bf1
3 changed files with 30 additions and 0 deletions
  1. 5 0
      rtl/win16/win31.pp
  2. 9 0
      rtl/win16/winprocsh.inc
  3. 16 0
      rtl/win16/wintypes.inc

+ 5 - 0
rtl/win16/win31.pp

@@ -873,6 +873,11 @@ function CopyIcon(hinst: HINST; hicon: HICON): HICON; external 'USER';
 function DlgDirSelectEx(hwndDlg: HWND; lpszPath: LPSTR; cbPath, idListBox: SmallInt): BOOL; external 'USER';
 function DlgDirSelectComboBoxEx(hwndDlg: HWND; lpszPath: LPSTR; cbPath, idComboBox: SmallInt): BOOL; external 'USER';
 
+{ Windows hook support }
+function SetWindowsHookEx(idHook: SmallInt; lpfn: HOOKPROC; hInstance: HINST; hTask: HTASK): HHOOK; external 'USER';
+function UnhookWindowsHookEx(hHook: HHOOK): BOOL; external 'USER';
+function CallNextHookEx(hHook: HHOOK; code: SmallInt; wParam: WPARAM; lParam: LPARAM): LRESULT; external 'USER';
+
 implementation
 
 end.

+ 9 - 0
rtl/win16/winprocsh.inc

@@ -1220,3 +1220,12 @@ function DlgDirSelect(hwndDlg: HWND; lpszPath: LPSTR; idListBox: SmallInt): BOOL
 
 function DlgDirListComboBox(hwndDlg: HWND; lpszPath: LPSTR; idComboBox, idStaticPath: SmallInt; uFileType: UINT): SmallInt; external 'USER';
 function DlgDirSelectComboBox(hwndDlg: HWND; lpszPath: LPSTR; idComboBox: SmallInt): BOOL; external 'USER';
+
+{ Windows hook support }
+
+function SetWindowsHook(idHook: SmallInt; hkprc: HOOKPROC): HHOOK; external 'USER';
+function SetWindowsHook(idHook: SmallInt; hkprc: TFarProc): TFarProc; external 'USER';
+function DefHookProc(nCode: SmallInt; uParam: WPARAM; dwParam: LPARAM; lphhook: LPHHOOK): LRESULT; external 'USER';
+function DefHookProc(nCode: SmallInt; uParam: WPARAM; dwParam: LPARAM; lphhook: TFarProc): LRESULT; external 'USER';
+function UnhookWindowsHook(idHook: SmallInt; hkprc: HOOKPROC): BOOL; external 'USER';
+function UnhookWindowsHook(idHook: SmallInt; hkprc: TFarProc): BOOL; external 'USER';

+ 16 - 0
rtl/win16/wintypes.inc

@@ -2623,3 +2623,19 @@ const
   CB_OKAY               = 0;
   CB_ERR                = (-1);
   CB_ERRSPACE           = (-2);
+
+type
+{ Windows hook support }
+  LPHHOOK = ^HHOOK; far;
+  HHOOK = DWORD;
+  HOOKPROC = function(code: SmallInt; wParam: WPARAM; lParam: LPARAM): LRESULT; far;
+  THookProc = HOOKPROC;
+
+const
+{ Standard hook code }
+  HC_ACTION     = 0;
+
+{ Obsolete hook codes (NO LONGER SUPPORTED) }
+  HC_GETLPLPFN  = (-3);
+  HC_LPLPFNNEXT = (-2);
+  HC_LPFNNEXT   = (-1);