GetAsyncKeyState(Key: Keys): Boolean;
Key. Клавиша, для которой необходимо проверить состояние.
Метод GetAsyncKeyState возвращает состояние клавиши (нажата/не нажата) вне очереди сообщений.
Метод возвращает True, если клавиша, передаваемая посредством параметра Key, (вне зависимости от текущего состояния) была нажата последней.
Для выполнения примера предполагается наличие формы и расположенной на ней кнопки.
Class TESTForm: Form
Button1: Button;
Sub StartOnClick(Sender: Object; Args: IMouseEventArgs);
Var
d: DateTime;
Begin
Self.BeginOperation("Выполнение");
d := DateTime.AddSeconds(DateTime.Now, 60);
While DateTime.Now < d Do
If WinApplication.GetAsyncKeyState(Keys.Escape) Then
Break;
End If;
End While;
Self.EndOperation;
End Sub StartOnClick;
End Class TESTForm;
Нажатие на кнопку запускает процесс длительностью 60 секунд, во время которого будет проверяться состояние клавиши ESC. Если клавиша будет нажата, то процесс будет остановлен до окончания указанного времени.
См. также: