Вверх ↑
Этот топик читают: Гость
Ответов: 4641
Рейтинг: 334
#1: 2009-03-10 11:35:03 ЛС | профиль | цитата
Код Клавиша или комбинация клавишКодКлавиша или комбинация клавиш
8Backspace (Забой)9Tab (Табуляция)
13Enter32Пробел
33!34"
35#36$
37%38&
39'40(
41)42*
43+44,
45-46.
47/45...570...9
58 59;
60<61=
62>63?
64@65...90A...Z
91[92\
93]94^
95 96'
97...122a...z123{
124l125}
126~

карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 3514
Рейтинг: 184
#2: 2009-03-10 11:40:45 ЛС | профиль | цитата
code_12090.txt
карма: 0
0
файлы: 1code_12090.txt [139B] [317]
Ответов: 1161
Рейтинг: 160
#3: 2009-03-10 13:09:01 ЛС | профиль | цитата
что-то интересные коды клавиш...
лично я никогда не видел клавишу "Я" на своей клавиатуре
может это скорее ASCII таблица символов
карма: 0

0
Ответов: 4641
Рейтинг: 334
#4: 2009-03-10 13:41:20 ЛС | профиль | цитата
LainX писал(а):
может это скорее ASCII таблица символов

они самые
пусть А...Я для информации. Может пригодится кому .....


карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 5446
Рейтинг: 323
#5: 2009-03-10 17:32:50 ЛС | профиль | цитата
Ravilr, к сведению: эти коды для CP1251 (стандартная кодировка для Windwos) неверны. Например, буква "я" в CP1251 имеет код 0xFF (255), а никак не 239
карма: 1

0
Ответов: 4641
Рейтинг: 334
#6: 2009-03-10 18:05:59 ЛС | профиль | цитата
iarspider писал(а):
к сведению: эти коды для CP1251 (стандартная кодировка для Windwos) неверны

убрал от греха подальше.


карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 1161
Рейтинг: 160
#7: 2009-03-10 19:18:38 ЛС | профиль | цитата
так посмотри
code_12103.txt
карма: 0

0
файлы: 1code_12103.txt [670B] [362]
Ответов: 578
Рейтинг: 14
#8: 2014-07-23 15:49:25 ЛС | профиль | цитата
А можно зная ASCII код символа эмулировать его нажатие на клавиатуре?
карма: 0

0
Ответов: 8983
Рейтинг: 825
#9: 2014-07-23 15:57:48 ЛС | профиль | цитата
GanjaKyp, первые 127 символов
карма: 19

0
Ответов: 578
Рейтинг: 14
#10: 2014-07-23 16:50:05 ЛС | профиль | цитата
ясно, спасибо
карма: 0

0
Ответов: 250
Рейтинг: 1
#11: 2026-03-13 11:46:05 ЛС | профиль | цитата
Некротеме ап. Все ссылки биты.

Каким элементом узнать код клавиши с клавиатуры? Пробовал KeyHook, но программа при сборке ругается на отсутствие dll.
карма: 1

0
Ответов: 295
Рейтинг: 64
#12: 2026-03-13 21:03:25 ЛС | профиль | цитата
Gitarist, схема с IC не моя, кто автор - уже не помню, надеюсь он не против:


Add(MainForm,13376086,399,266)
{
Point(onClose)
Point(onKeyDown)
link(onCreate,2317400:SetHook,[])
link(onClose,2317400:UnHook,[])
}
Add(InlineCode,2317400,441,280)
{
WorkPoints=#7:SetHook|6:UnHook|
EventPoints=#7:onKeyUp|9:onKeyDown|10:onSysKeyUp|12:onSysKeyDown|8:onRepeat|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|38:uses kol,Share,Debug,Windows,Messages;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|40: procedure onKey(param,code:integer);|9: public|65: onKeyUp,onKeyDown,onSysKeyUp,onSysKeyDown,onRepeat:THI_Event;|4: |46: procedure SetHook(var dt:TData; Idx:WORD);|45: procedure UnHook(var dt:TData; Idx:WORD);|5: end;|0:|14:implementation|0:|5:const|21: WH_KEYBOARD_LL = $D;|22: KBH_KEYREPEAT = $DD;|4:var |12: Hook:HHOOK;|45: ret:procedure(param,code:integer) of object;|0:|4:type|24: LLKBH_STRUCT = record|11: vkCode,|13: ScanCode,|10: Flags,|15: Time:DWORD;|23: dwExtraInfo:PDWORD;|7: end;|33: PLLKBH_STRUCT = ^LLKBH_STRUCT;|1: |28:var kbh_struct:LLKBH_STRUCT;|0:|82:function HookProc(Code: integer; wParam:integer;lParam: LongInt): HRESULT;stdcall;|21:var kbh:LLKBH_STRUCT;|5:begin|44: kbh:=LLKBH_STRUCT(PLLKBH_STRUCT(lParam)^); |122: if (kbh_struct.vkCode = 0) and (kbh_struct.ScanCode = 0) and (kbh_struct.Flags = 0) then ret(wParam,kbh_struct.vkCode); |44: if kbh.Flags <> kbh_struct.Flags then begin|37: kbh_struct:=PLLKBH_STRUCT(lParam)^; |31: ret(wParam,kbh_struct.vkCode);|51: end else ret(KBH_KEYREPEAT,kbh_struct.vkCode); |55: result := CallNextHookEx(Hook, Code, wParam , lParam);|4:end;|0:|30:procedure THiAsmClass.SetHook;|5:begin|25: with kbh_struct do begin|12: vkCode:=6;|14: ScanCode:=6;|11: Flags:=5;|5: end;|12: ret:=onKey;|64: Hook := SetWindowsHookEx(WH_KEYBOARD_LL,@HookProc,HInstance,0);|4:end;|0:|28:procedure THiAsmClass.onKey;|5:begin|16: Case Param of|45: WM_KEYDOWN :_hi_OnEvent(onKeyDown,code);|43: WM_KEYUP :_hi_OnEvent(onKeyUp,code);|48: WM_SYSKEYDOWN:_hi_OnEvent(onSysKeyDown,code);|46: WM_SYSKEYUP :_hi_OnEvent(onSysKeyUp,code);|44: KBH_KEYREPEAT:_hi_OnEvent(onRepeat,code);|9: end; |4:end;|0:|29:procedure THiAsmClass.UnHook;|5:begin|27: UnhookWindowsHookEx(Hook);|4:end;|0:|4:end.|
link(onKeyUp,3658577:doWork1,[])
link(onKeyDown,3658577:doWork2,[])
link(onSysKeyUp,3658577:doWork3,[])
link(onSysKeyDown,3658577:doWork4,[])
link(onRepeat,3658577:doWork5,[])
}
Add(ListBox,11565061,665,245)
{
Left=125
Top=35
Width=205
Height=180
}
Add(StrList,4095676,567,238)
{
Strings=#15:Опущена клавиша|14:Нажата клавиша|25:Опущена системная клавиша|24:Нажата системная клавиша|20:Удерживается клавиша|
Point(doGetString)
Point(onGetString)
link(onGetString,9575750:doString,[])
}
Add(ChanelToIndex,3658577,490,280)
{
Count=5
Point(Data)
link(onIndex,4095676:doGetString,[(544,286)(544,272)])
}
Add(FormatStr,9575750,609,245)
{
link(onFString,11565061:doAdd,[])
link(Str2,3658577:Data,[(622,233)(559,233)(559,324)(496,324)])
}

карма: 0

0
Ответов: 878
Рейтинг: 322
#13: 2026-03-17 06:58:46 ЛС | профиль | цитата
А ведь можно и без ИС.

Add(MainForm,2953706,259,105)
{
Width=707
Height=517
Point(onKeyDown)
Point(onKeyUp)
link(onKeyDown,122309:doString,[])
link(onKeyUp,15475770:doString,[(310,139)(310,174)])
}
Add(FormatStr,122309,336,126)
{
DataCount=1
Mask="нажата клавиша - %1"
link(onFString,10992298:doWork2,[])
}
Add(Label,2067252,420,126)
{
Left=305
Top=130
Width=135
Height=17
Caption="нажми на любую клавишу"
}
Add(FormatStr,15475770,336,168)
{
DataCount=1
Mask="отпущена клавиша - %1"
link(onFString,10992298:doWork3,[(396,174)])
}
Add(HubEx,10992298,392,126)
{
link(onEvent,2067252:doText,[])
}

карма: 1

0
Ответов: 1071
Рейтинг: 221
#14: 2026-03-21 07:08:27 ЛС | профиль | цитата
Gitarist писал(а):
Каким элементом узнать код клавиши с клавиатуры? Пробовал KeyHook, но программа при сборке ругается на отсутствие dll.

Попробую предложить ещё парочку способов.
Всё зависит от того, как этот код будет использован в дальнейшем.
1. Если нужно узнать код клавиш для того, чтобы вставить его, например в KeyEven, то проще вставить на поле Hiasm эту схему и не запуская её нажимаем на клавиатуре любую клавишу сразу видим её код.
Add(hcKeyHandler,12321226,252,266)
{
link(onKeyDown,983239:doText,[])
}
Add(hcVisualText,983239,315,266)
{
@Hint=#19:Код нажатой клавиши|
Lines=#2:48|
Width=31
Font=[MS Sans Serif,12,0,0,1]
AddHint(15,-49,127,13,@Hint)
}

2. Схема показывает код и краткое описание нажатой клавиши.
https://forum.hiasm.com/getfile/40619

Редактировалось 1 раз(а), последний 2026-03-21 07:08:54
карма: 20

0
файлы: 1Code and name of the pressed key.zip [2.5KB] [26]
14
Сообщение
...
Прикрепленные файлы
(файлы не залиты)