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

Вниз

Как программно включить NumLock?   Найти похожие ветки 

 
Loverest   (2002-06-23 16:29) [0]

Как программно включить NumLock?


 
AK-74 ©   (2002-06-23 16:48) [1]

var
KS: TKeyboardState;
...
GetKeyboardState( KS ) ;
KS[ VK_NUMLOCK ] := KS[ VK_NUMLOCK ] or $01;
SetKeyboardState( KS );
...

and $FE;
- для выключения


 
James007 ©   (2002-06-23 16:50) [2]

Вот тебе пример для отключения/включения 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;


 
VID ©   (2002-06-23 17:07) [3]

ну и вообще думаю есть смысл стянуть с UBPFD модуль skunit (эмулятор нажатия клавиш клавиатуры)


 
Loverest   (2002-06-23 17:33) [4]

А под WinXp не работает :(
Как быть?


 
Loverest   (2002-06-23 19:07) [5]

???


 
Proton ©   (2002-06-23 20:43) [6]

keybd_event(VK_NUMLOCK,0,0,0);
keybd_event(VK_NUMLOCK,0,KEYEVENTF_KEYUP,0);


 
Loverest   (2002-06-23 20:55) [7]

Не работает :(
Меняет на обратное… если выключен то включит, а если включен то выключит – а мне надо что бы только включал!
Помогите пожалуйста!


 
Юрий Зотов ©   (2002-06-23 23:31) [8]

Сначала проверяйте GetKeyState и включайте только если выключено.

if GetKeyState(VK_NUMLOCK) and 1 = 0 then ...


 
Proton ©   (2002-06-24 09:02) [9]

вот ты и проеряй текущее состояние
RxSwitch_caps_lock.StateOn := not GetKeyState(VK_NUMLOCK) and 1 = 0;


 
Юрий Зотов ©   (2002-06-24 09:20) [10]

Скобок не хватает...
:o)


 
Loverest   (2002-06-24 13:03) [11]

Спасибо Всем!


 
Kr_Alex ©   (2002-06-24 22:59) [12]

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;



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

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

Наверх




Память: 0.49 MB
Время: 0.012 c
6-14193
NavySerge
2002-06-26 15:16
2002.09.05
Уважаемые Мастера, помогите, Плз!


1-14080
EugenCFG
2002-08-23 12:58
2002.09.05
Мастера... Как мне узнать, что у PageControl1 есть Tabsheet.Ca...


3-13961
Guest2
2002-08-16 11:58
2002.09.05
Помогите с SQL


7-14302
saf
2002-06-25 19:21
2002.09.05
Копирование проги


14-14249
Ksion
2002-08-11 11:49
2002.09.05
У меня скоро бошка лопнетот того что я не знаю.