Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

windows.GetAsyncKeyState(vKey) [D7, WinXP]


nes ©   (2005-05-27 19:35:00) 

Здрасте, у меня стоит на форме таймер, который и должен узнать нажата ли клавиша,если поставить GetAsyncKeyState(65), то при нажатии на "а" срабатывает,а как мне тоже самое проделать, только с  ",./"...вот...т.к. если ставить 40,42,43 то ничего не происходит...


nes   (2005-05-28 13:38:00) [1]

Спасибо=)


VMcL   (2005-05-28 13:12:00) [2]

if GetAsyncKeyState(Byte(VkKeyScan('a'))) and $8000 <> 0 then
  {Нажали A (англ.)};


if GetAsyncKeyState(Byte(VkKeyScan('A'))) and $8000 <> 0 then
  {Нажали A (англ.)};


if GetAsyncKeyState(Ord('A')) and $8000 <> 0 then
  {Нажали A (англ.)};


if GetAsyncKeyState(Byte(VkKeyScan('.'))) and $8000 <> 0 then
  {Нажали точку};


if GetAsyncKeyState(Byte(VkKeyScan(','))) and $8000 <> 0 then
  {Нажали запятую};


P.S. VkKeyScan учитывает раскладку клавиатуры.


nes   (2005-05-28 11:48:00) [3]

А как мне  проделать тоже самое, только с ",./"?


Marser   (2005-05-27 23:35:00) [4]


> Nes ©   (27.05.05 19:42) [2] [Новое
>сообщение][Ответить]
>Упс, так тоесть
> if GetAsyncKeyState(65)<>0 then

Это не гарантирует того, что клавиша нажата именно сейчас. Для уверенности нужно хотя бы убрать 1-й разряд(shr 1), который указывает на то, что ранее клавиша нажималась. Хотя для определения текущего статуса всё-таки лучше использовать GetKeyState, которая такой "памятью" не обладает.


Nes   (2005-05-27 19:42:00) [5]

Упс, так тоесть
if GetAsyncKeyState(65)<>0 then


Nes   (2005-05-27 19:41:00) [6]

ну дык,конечно же всё выглядит примерно так
if GetAsyncKeyState(65) then
showmessage('dqk A');


Наверх

Титульная страница Поиск, карта сайта Написать письмо