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

Вниз

NumLock   Найти похожие ветки 

 
VasRoG   (2005-07-25 16:05) [0]

Как определить в ходе работы программы нажата ли клавиша NumLock и,  если нет,  то включить ее.


 
TUser ©   (2005-07-25 18:55) [1]

GetKeyboardState/GetKeyState/SetKeyboardState/SetKeyState


 
begin...end ©   (2005-07-25 19:14) [2]

> TUser ©   (25.07.05 18:55) [1]

> SetKeyState
Такой функции нет.

> SetKeyboardState
И как? Работает?


 
alpet ©   (2005-07-25 19:27) [3]

Влючить можно через keybd_event (NT/W2k+) или SendInput.


 
SergProger   (2005-07-27 19:12) [4]

Воспользуйся Api-функциями

  procedure GetKeyboardState(var KeyState: TKeyboardState);
  procedure SetKeyboardState(var KeyState: TKeyboardState);

Вот коды клавиш:

  CapsLock    020
  NumLock     144
  ScrollLock  145
  Shift       016
  Ctrl        017
  Alt         018
  Insert      045
  Delete      046
  Tab         009

Пример:

Меняем состояние NumLock, CapsLock и ScrollLock на противоположное:

var KS: TKeyboardState;
begin
 GetKeyboardState(KS);  //Читаем значения
 KS[020]:=KS[020] XOR 1;  //Меняем CapsLock
 KS[144]:=KS[144] XOR 1;  //NumLock
 KS[145]:=KS[145] XOR 1;  //ScrollLock
 SetKeyboardState(KS);  //Применяем значения
end;


 
alpet ©   (2005-07-27 19:16) [5]

Because the SetKeyboardState function alters the input state of the calling thread and not the global input state of the system, an application cannot use SetKeyboardState to set the NUM LOCK, CAPS LOCK, or SCROLL LOCK indicator lights on the keyboard. These can be set or cleared using SendInput to simulate keystrokes.



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

Форум: "WinAPI";
Текущий архив: 2005.09.18;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.011 c
1-1124867282
СержК
2005-08-24 11:08
2005.09.18
Как програмно узнать что на машине открыт документ Excel?


8-1114973295
MxQ
2005-05-01 22:48
2005.09.18
Векторная карта


6-1117295385
dolphin1
2005-05-28 19:49
2005.09.18
несколько инет коннекшенов


14-1124445799
kaif
2005-08-19 14:03
2005.09.18
Screen shot или screenshot ? Как правильно?


2-1123763262
Radgar
2005-08-11 16:27
2005.09.18
ComboBox





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский