Форум: "WinAPI";
Текущий архив: 2005.07.25;
Скачать: [xml.tar.bz2];
Внизwindows.GetAsyncKeyState(vKey) Найти похожие ветки
← →
nes © (2005-05-27 19:35) [0]Здрасте, у меня стоит на форме таймер, который и должен узнать нажата ли клавиша,если поставить GetAsyncKeyState(65), то при нажатии на "а" срабатывает,а как мне тоже самое проделать, только с ",./"...вот...т.к. если ставить 40,42,43 то ничего не происходит...
← →
Nes © (2005-05-27 19:41) [1]ну дык,конечно же всё выглядит примерно так
if GetAsyncKeyState(65) then
showmessage("dqk A");
← →
Nes © (2005-05-27 19:42) [2]Упс, так тоесть
if GetAsyncKeyState(65)<>0 then
← →
Marser © (2005-05-27 23:35) [3]
> Nes © (27.05.05 19:42) [2] [Новое
>сообщение][Ответить]
>Упс, так тоесть
> if GetAsyncKeyState(65)<>0 then
Это не гарантирует того, что клавиша нажата именно сейчас. Для уверенности нужно хотя бы убрать 1-й разряд(shr 1), который указывает на то, что ранее клавиша нажималась. Хотя для определения текущего статуса всё-таки лучше использовать GetKeyState, которая такой "памятью" не обладает.
← →
nes © (2005-05-28 11:48) [4]А как мне проделать тоже самое, только с ",./"?
← →
VMcL © (2005-05-28 13:12) [5]
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 13:38) [6]Спасибо=)
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.07.25;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.012 c