Для обработки событий, происходящих асинхронно по отношению к выполнению программы, лучше всего подходит механизм прерываний. Прерывание можно рассматривать как некоторое событие в системе, которое нужно проанализировать сразу же, как только оно произошло (например: нажатие клавиши). http://www.codenet.ru/progr/dos/