Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.12;
Скачать: CL | DM;

Вниз

Код клавиши   Найти похожие ветки 

 
Mihey_temporary ©   (2004-08-23 23:41) [0]

Не получается обработать нажатие клавиши "~" - той, что под Esc и над Tab. Какой у неё виртуальный код, а то не нашёл в SDK.


 
KilkennyCat ©   (2004-08-24 00:17) [1]

А у нее нет кода. У всех есть, а у нее нет. Именно так и определяется ее нажатие: если клавиша нажата, а кода нет, значит, именно эта и нажата. Таким образом была получена возможность обработки еще одной клавиши без увеличения разрядности кода. Этот способ запатентован американцами, получили они его при изучении разбитой тарелки инопланетян, поэтому он страшно засекречен и в SDK его не публикуют. Всех, кто его знает, периодически отстреливают. Ой, что это за красная точка на мониторрррррррррррррррррррррррррррррррррррррррррррр


 
Григорьев Антон ©   (2004-08-24 17:40) [2]

Специально для тебя, по старой дружбе :)) открою секретный способ получения кода любой клавиши: пишешь программу, которая ловит OnKeyPress и выводит код клавиши, например, в Label. Запускаешь программу, наживаешь интересующую тебя клавишу и смотришь, какой код нарисовался. Только не забудь потом сделать низкоуровневое форматирование винчестера, чтобы никто другой не смог узнать этот секретный способ!


 
reticon ©   (2004-08-24 17:45) [3]

Удалено модератором
Примечание: Выражения выбираем


 
antonn ©   (2004-08-24 17:47) [4]

А мы без секретов код предоставим:

if GetAsyncKeyState(192)=0 then label1.caption:="~" else  label1.caption:="no";

В KeyDown или куда еще...


 
Mihey_temporary ©   (2004-08-24 17:48) [5]


> KilkennyCat ©   (24.08.04 00:17) [1]


Я-я...


> Григорьев Антон ©   (24.08.04 17:40) [2]


Хотел всё же ввести поддержку +++++++10 и написать грамматику, но теперь точно не сделаю назло.


 
Mihey_temporary ©   (2004-08-24 17:49) [6]

Угу, 129-ая, точно. Спасибо.


 
antonn ©   (2004-08-24 17:50) [7]

192


 
Nous Mellon ©   (2004-08-24 17:55) [8]

А не 29?


 
Mihey_temporary ©   (2004-08-24 17:58) [9]

Ну да, только щас заметил ошибку.


 
antonn ©   (2004-08-24 17:59) [10]


> А не 29?

На тильде? У меня 192.
Поправка [4]:
if GetAsyncKeyState(192)=0 then label1.caption:="NO" else  label1.caption:="~";


 
Nous Mellon ©   (2004-08-24 18:02) [11]

Я не очень понял нас интересует Scan Code?
Если да то Spy ++ говорит что 29. Это HEX
41 в Dec. Тоже самое говорит MSDN.


 
antonn ©   (2004-08-24 18:04) [12]

Если честно, не знаю что их интересует. Знаю что мой код работает. Я таким макаром всю клаву ловлю. И мыша тоже.


 
Nous Mellon ©   (2004-08-24 18:08) [13]


> Если честно, не знаю что их интересует. Знаю что мой код
> работает. Я таким макаром всю клаву ловлю. И мыша тоже.

Ловить конечно интересно но доки на что?


 
Nous Mellon ©   (2004-08-24 18:22) [14]

Да все верно
Клавиша    Код    
VK_OEM_3  0C0h  
Что есть 192


 
Григорьев Антон ©   (2004-08-24 18:24) [15]


> Nous Mellon ©   (24.08.04 18:08) [13]
>
> > Если честно, не знаю что их интересует. Знаю что мой код
>
> > работает. Я таким макаром всю клаву ловлю. И мыша тоже.
>
> Ловить конечно интересно но доки на что?


Если на клетке с удавом написано "слон", не верь глазам своим (с) Козьма Прутков

Вообще, есть ANSI-код символа, и есть скан-код клавиши. По-моему, вы просто перепутали эти понятия.


 
Mihey_temporary ©   (2004-08-24 18:28) [16]


> Вообще, есть ANSI-код символа, и есть скан-код клавиши.
> По-моему, вы просто перепутали эти понятия.


Ага, напутали ANSI с ASCII.


 
antonn ©   (2004-08-24 18:31) [17]


> По-моему, вы просто перепутали эти понятия.

Я бы даже сказал, что я знаю только одно понятие, и о втором понятия не имею:)


 
Григорьев Антон ©   (2004-08-24 18:36) [18]


> Mihey_temporary ©   (24.08.04 18:28) [16]
>
> > Вообще, есть ANSI-код символа, и есть скан-код клавиши.
>
> > По-моему, вы просто перепутали эти понятия.
>
>
> Ага, напутали ANSI с ASCII.


Та система кодировки, которая используется в Windows, называется ANSI. Она включает совпадает с ASCII только для первых 128-и символов и включает в себя понятие кодовой страницы, которого нет в ASCII. И применение термина ANSI в данной ситуации абсолютно корректно. А если ты не знаешь, что такое ANSI, имей ума достаточно хотя бы для того, чтобы не выставлять так напоказ своё невежество.


 
Mihey_temporary ©   (2004-08-24 18:39) [19]

OnKeyPress + F1... Никакой ANSI и не пахнет.


 
Суслик ©   (2004-08-24 18:42) [20]

Эээ Михаил вы типа этта послушали бы человека. А?


 
Mihey_temporary ©   (2004-08-24 18:45) [21]


> Суслик ©   (24.08.04 18:42) [20]


Вот нажму я букву "ф". Как же я получу её ANSI-код в OnKeyPress??


 
Nous Mellon ©   (2004-08-24 18:47) [22]


> Вообще, есть ANSI-код символа, и есть скан-код клавиши.
> По-моему, вы просто перепутали эти понятия.

Да. Но в итоге исправился. Чего обсуждаем то?


 
Игорь Шевченко ©   (2004-08-24 18:47) [23]

Mihey_temporary ©   (24.08.04 18:45) [21]


> Вот нажму я букву "ф". Как же я получу её ANSI-код в OnKeyPress??


Ord(Key)?


 
Mihey_temporary ©   (2004-08-24 19:03) [24]

Да, я не прав. OnKeyPress срабатывается на все клавиши, которые теоретически могут вывести символ ASCII, но не обязательно должны это делать в данный момент.



Страницы: 1 вся ветка

Текущий архив: 2004.09.12;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.024 c
14-1092911681
Kerk
2004-08-19 14:34
2004.09.12
Всероссийская акция протеста владельцев мобильных телефонов


1-1093136182
массив
2004-08-22 04:56
2004.09.12
Почему нельзя сделать строкой динамический массив ?


14-1093269258
antonn
2004-08-23 17:54
2004.09.12
Программулина...


1-1093202714
mefisto
2004-08-22 23:25
2004.09.12
Как зделать меню типа Пуск->Программы


6-1089292828
Flash
2004-07-08 17:20
2004.09.12
Генерация e-mail. Help!