Keyboard/Mouse recorder required

Hi,

I urgently need a component with which I can record *all* keyboard and mouse
input, store it to disk (as it is recorded, or after recording), assign a file
that contains a specific recording to the playback method, and to start, pause,
continue, and stop playback.

I thus need a component that (at least) contains the following methods:

  Recorder.AssignFile
  Recorder.Record
  Recorder.Save
  Recorder.Play
  Recorder.Pause           (initiated with the CTRL-P key)
  Recorder.Continue
  Recorder.Stop
  Recorder.Rewind          (not so important)
  Recorder.FastForward     (not so important)

The AssignFile is used before recording and playback. When the recording buffer
gets full it should store it automatically to this file. (The Save method will
actually only be used to save the last/partial buffer to disk, and actually
correspond more to FLUSH.) During playback the keystrokes recorded will be
loaded buffer-by-buffer from this file and played. (The other methods are
self-explanitory).

Properties required:
  Recorder.BufferSize    : Integer ;
  Recorder.PlaybackSpeed := ( AsRecorded, NoDelayBetweenStrokes ) ;
  Recorder.Extent        := ( LimitedToWindow, FullScreen ) ;

This component should work with Delphi 1.0 and 2.0 under Win95 (and maybe
Win3.1).

It is very possible that I will have to extend to this functionality, and I
will thus also need the source code.

Thanks
Anton Feiertag