![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как программно включить NumLock?
Loverest © (2002-06-23 16:29:00)Как программно включить NumLock?
Kr_Alex (2002-06-24 22:59:00) [1]
procedure NumLock(State:boolean);
var
Keyboard:TKeyboardState;
begin
GetKeyboardState(Keyboard);
if (State and (Keyboard[vk_NumLock]=0))or(not State and (Keyboard[vk_NumLock]=1)) then
begin
keybd_event(vk_NumLock,0,KeyEventF_ExtendedKey,0);
keybd_event(vk_NumLock,0,KeyEventF_ExtendedKey or KeyEventF_KeyUp,0);
end;
end;
Loverest (2002-06-24 13:03:00) [2]Спасибо Всем!
Юрий Зотов (2002-06-24 09:20:00) [3]Скобок не хватает...
:o)
Proton (2002-06-24 09:02:00) [4]вот ты и проеряй текущее состояние
RxSwitch_caps_lock.StateOn := not GetKeyState(VK_NUMLOCK) and 1 = 0;
Юрий Зотов (2002-06-23 23:31:00) [5]Сначала проверяйте GetKeyState и включайте только если выключено.
if GetKeyState(VK_NUMLOCK) and 1 = 0 then ...
Loverest (2002-06-23 20:55:00) [6]Не работает :(
Меняет на обратное… если выключен то включит, а если включен то выключит – а мне надо что бы только включал!
Помогите пожалуйста!
Proton (2002-06-23 20:43:00) [7]keybd_event(VK_NUMLOCK,0,0,0);
keybd_event(VK_NUMLOCK,0,KEYEVENTF_KEYUP,0);
Loverest (2002-06-23 19:07:00) [8]???
Loverest (2002-06-23 17:33:00) [9]А под WinXp не работает :(
Как быть?
VID (2002-06-23 17:07:00) [10]ну и вообще думаю есть смысл стянуть с UBPFD модуль skunit (эмулятор нажатия клавиш клавиатуры)
James007 (2002-06-23 16:50:00) [11]Вот тебе пример для отключения/включения Num Lock и еще двух кнопок
\\ Процедура Включения/выключения кнопок
procedure SetState(Key : integer; Value : Boolean);
var KeyState : TKeyboardState;
Begin
GetKeyboardState(KeyState);
KeyState[Key]:=Integer(Value);
SetKeyboardState(KeyState);
end;
\\ Включаем
procedure TForm1.Button1Click(Sender: TObject);
begin
SetState(VK_NUMLOCK,True); // Включение Num Lock
SetState(VK_SCROLL,False); // Включение Scroll Lock
SetState(VK_CAPITAL,False); // Включение Caps Lock
end;
\\ Выключаем
procedure TForm1.Button2Click(Sender: TObject);
begin
SetState(VK_NUMLOCK,False); // Отключение Num Lock
SetState(VK_SCROLL,False); // Отключение Scroll Lock
SetState(VK_CAPITAL,False); // Отключение Caps Lock
end;
AK-74 (2002-06-23 16:48:00) [12]
var- для выключения
KS: TKeyboardState;
...
GetKeyboardState( KS ) ;
KS[ VK_NUMLOCK ] := KS[ VK_NUMLOCK ] or $01;
SetKeyboardState( KS );
...
and $FE;