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

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

Запрет отключения Num Lock [D7, WinXP]


OKir ©   (2007-12-12 16:29:00) 

Кто нибудь знает как запретить отключать Num Lock, но при этом отслеживать его нажатия?


OKir   (2007-12-17 16:16:00) [1]

ура! Получилось. Leonid Troyanovsky спасибо


Leonid Troyanovsky   (2007-12-15 13:16:00) [2]


> OKir   (14.12.07 08:16) [7]

> ага. именно хоткей - по нему оно сворачивается в трей и
> соответственно из него разворачивается.

Во-первых, для горячей клавиши лучше выбрать, скажем, Shift+NumLock.
Во-вторых, отловить нажатие без изменения состояния NumLock можно
с помощью WH_KEYBDOARD_LL, пример которого можно посмотреть здесь

http://groups.google.com/group/fido7.ru.delphi.chainik/msg/ba088c4f6ad9649f?dmode=source&output=gplain
кодировка KOI8-R

поправить:
function  LowLevelKeyboardProc(nCode :Longint; awParam: WParam; alParam:
LParam): LResult; stdcall;

И надо помнить, что обработка не должна быть длительной, т.е.,
никаких там MessageBox внутри хуковой процедуры.

--
Regards, LVT.


clickmaker   (2007-12-14 14:18:00) [3]


> SetKeyboardState() пробовал - вапще не работает

а как пробовал?


OKir   (2007-12-14 08:16:00) [4]

ага. именно хоткей - по нему оно сворачивается в трей и соответственно из него разворачивается.
SetKeyboardState() или keybd_event() при запуске чего? самой программы - смысла нет. SetKeyboardState() пробовал - вапще не работает. keybd_event() пробовал, но если ловить WM_HOTKEY то получается банальный бесконечный цикл, если ставить хук на WH_KEYBOARD то чето не работает, честно говоря не очень еще с ним разобрался - никак не найду внятного примера


clickmaker   (2007-12-13 20:03:00) [5]


> [5] OKir   (13.12.07 19:46)
> clickmaker
> не. сделал каркулятыр, хочу повесить на нумлок

Hotkey?
ну так SetKeyboardState() или keybd_event() при запуске


OKir   (2007-12-13 19:46:00) [6]

clickmaker
не. сделал каркулятыр, хочу повесить на нумлок, но естественно ему совершенно не нужно отключацца при нажатии


clickmaker   (2007-12-13 19:29:00) [7]


> ] clickmaker ©   (13.12.07 19:28)
>
> > [1] {RASkov} ©   (12.12.07 22:35)

сорри, это вопрос, конечно же, автору )


clickmaker   (2007-12-13 19:28:00) [8]


> [1] {RASkov} ©   (12.12.07 22:35)

что, бухгалтерия достала вопросом: "почему циферки не набиваются?" )


DVM   (2007-12-12 22:56:00) [9]

Электричество надо экономить!


{RASkov}   (2007-12-12 22:35:00) [10]

- Кто нибудь знает как запретить отключать Num Lock, но при этом отслеживать его нажатия?
- Hook.
- А это как?
- Вот в соседней ветке глянь
  http://www.delphimaster.ru/cgi-bin/forum.pl?n=5&id=1197190870
 , не совсем ответ на твой вопрос, но чуточку подумать и.......
:)


Наверх

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