Реализация Actions через виндовый таймер (Как пример)
## Код:
```
MODULE ...TimerHook;

   IMPORT
      Out := ConsoleOut,
      Services, SYSTEM, W := WinApi;
   
   VAR
      id: INTEGER;

   PROCEDURE TimerProc (hwnd: W.HWND; uMsg, idEvent, dwTimer: INTEGER);
   BEGIN
      Services.actionHook.Step
   END TimerProc;

   PROCEDURE InstallTimer;
   BEGIN
      id := W.SetTimer(0, 0, 1, SYSTEM.VAL(W.TIMERPROC, SYSTEM.ADR(TimerProc)))
   END InstallTimer;
   
   PROCEDURE UninstallTimer;
      VAR   res: INTEGER;
   BEGIN
      IF id # 0 THEN
         res := W.KillTimer(0, id); id := 0
      END
   END UninstallTimer;
   
BEGIN
   InstallTimer;
   IF id = 0 THEN
      Out.Open; Out.String("...TimerHook.InstallTimer failed"); Out.Ln
   END
CLOSE
   UninstallTimer
END ...TimerHook.
```
