powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Проверить, нажата ли любая кнопка, кроме мыши?
6 сообщений из 6, страница 1 из 1
Проверить, нажата ли любая кнопка, кроме мыши?
    #40039682
LiYing
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как?
Нашел на С# https://stackoverflow.com/questions/1752494/detect-if-any-key-is-pressed-in-c-sharp-not-a-b-but-any вроде то, что надо:
Код: c#
1.
2.
3.
4.
5.
6.
private static bool AnyKeyPressed()
{
    byte[] keyState = GetKeyboardState();
    // skip the mouse buttons
    return keyState.Skip(8).Any(state => (state & 0x80) != 0);
}


Помогите перевести на Delphi, пожалуйста. Собственно, непонятна последняя строчка.
...
Рейтинг: 0 / 0
Проверить, нажата ли любая кнопка, кроме мыши?
    #40039684
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes

Первые 7 байт в массиве - кнопки мыши.
Их не проверяй. Вот и все.
...
Рейтинг: 0 / 0
Проверить, нажата ли любая кнопка, кроме мыши?
    #40039707
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat
Первые 7 байт в массиве - кнопки мыши.
Кроме VK_CANCEL
...
Рейтинг: 0 / 0
Проверить, нажата ли любая кнопка, кроме мыши?
    #40039843
LiYing
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо.
Еще в исходниках EhLib нашел такую функцию:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
  function IsAnyKeyPress: Boolean;
  var
    Msg: TMsg;
  begin
    Result := False;
    if PeekMessage(Msg, GetFocus{AGrid.Handle}, WM_KEYDOWN, WM_KEYDOWN, PM_NOREMOVE) then
      Result := True;
  end;


Интересно, насколько правильно так проверять?
...
Рейтинг: 0 / 0
Проверить, нажата ли любая кнопка, кроме мыши?
    #40039848
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
29.01.2021 11:23, LiYing пишет:
> Интересно, насколько правильно так проверять?

ты чо хотел то?
ибо «милостиво повелеть соизволил» (С)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Проверить, нажата ли любая кнопка, кроме мыши?
    #40039896
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LiYingнасколько правильно так проверять?

Нинасколько. Обычные программы для Windows имеют event-driven архитектуру и состояния
внешних устройств (в том числе клавиатуры) не опрашивают.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Проверить, нажата ли любая кнопка, кроме мыши?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]