home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 March / Chip_1998-03_cd.bin / zkuste / delphi / ruzkomp / WINHOOK.ZIP / MAIN.PAS < prev    next >
Pascal/Delphi Source File  |  1996-07-08  |  2KB  |  71 lines

  1. unit Main;
  2.  
  3. interface
  4.  
  5. uses
  6.   SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  7.   Forms, Dialogs, StdCtrls, HookUnit;
  8.  
  9. type
  10.   THookForm = class(TForm)
  11.     SysHookBtn: TButton;
  12.     RemoveHookBtn: TButton;
  13.     TaskHookBtn: TButton;
  14.     procedure FormCreate(Sender: TObject);
  15.     procedure SysHookBtnClick(Sender: TObject);
  16.     procedure RemoveHookBtnClick(Sender: TObject);
  17.     procedure TaskHookBtnClick(Sender: TObject);
  18.     procedure FormDestroy(Sender: TObject);
  19.   public
  20.     procedure UpdateButtons;
  21.   end;
  22.  
  23. var
  24.   HookForm: THookForm;
  25.  
  26. implementation
  27.  
  28. {$R *.DFM}
  29.  
  30. procedure THookForm.FormCreate(Sender: TObject);
  31. begin
  32.   UpdateButtons;
  33. end;
  34.  
  35. procedure THookForm.FormDestroy(Sender: TObject);
  36. begin
  37.   while IsHookSet do
  38.     RemoveHook; { Make sure we unhook ourselves. }
  39. end;
  40.  
  41. procedure THookForm.SysHookBtnClick(Sender: TObject);
  42. begin
  43.   if not InstallSystemHook then
  44.     ShowMessage('Could not install mouse hook.  SetWindowsHookEx() failed.');
  45.   UpdateButtons;
  46. end;
  47.  
  48. procedure THookForm.TaskHookBtnClick(Sender: TObject);
  49. begin
  50.   if not InstallTaskHook then
  51.     ShowMessage('Could not install task hook.  SetWindowsHookEx() failed.');
  52.   UpdateButtons;
  53. end;
  54.  
  55. procedure THookForm.RemoveHookBtnClick(Sender: TObject);
  56. begin
  57.   if IsHookSet then
  58.     RemoveHook;
  59.   UpdateButtons;
  60. end;
  61.  
  62. procedure THookForm.UpdateButtons;
  63. begin
  64.   SysHookBtn.Enabled := not IsHookSet;
  65.   TaskHookBtn.Enabled := not IsHookSet;
  66.   RemoveHookBtn.Enabled := IsHookSet;
  67. end;
  68.  
  69. end.
  70.  
  71.