Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2002.09.05;
Скачать: [xml.tar.bz2];

Вниз

Как программно включить 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
3-13934
Arsen
2002-08-15 17:33
2002.09.05
Разговор по поводу счетчика в Access


3-13884
restless
2002-08-09 15:30
2002.09.05
Повернуть DBNavigator


8-14182
AlexZav
2002-04-25 17:39
2002.09.05
Проблема с овобождением интерфейсов в DirectShow


1-14168
Man-In-Red
2002-08-23 23:04
2002.09.05
Есть проблема у меня – нужен совет


14-14224
Malder
2002-08-04 11:21
2002.09.05
Можно ли быть программистом не зная английского ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский