Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
0 / 0 / 0
Регистрация: 10.08.2006
Сообщений: 11

Как отследить NumLock или CapsLock?

20.08.2006, 16:06. Показов 3146. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как сделать, чтобы форма появлялась и "пряталась" в зависимости от состояния Num Lock. С GetKeyboardState возникли проблемы. Очень надо, спасибо! Можно прислать по мылу kudryashov@hotmail.ru
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.08.2006, 16:06
Ответы с готовыми решениями:

Как определить нажата ли клавиша capslock, numlock, ins в vb.net?
Как определить нажата ли клавиша capslock, numlock, ins в vb.net? Надо для текстового редактора, там внизу на статусбаре должно...

Состояние индикаторов CapsLock и NumLock в StatusStrip
Добрый день. Подскажите, пожалуйста, как возможно отобразить состояние индикаторов CAPS/NUM Lock в строке состояний StatusStrip Windows...

Программное управление NumLock \ CapsLock \ Sroll Lock
Проблема следующая - есть устройство которое эмитируется под клавиатуру и управляется оно с помощью сигналов о включении светодиодов ...

4
0 / 0 / 0
Регистрация: 16.08.2006
Сообщений: 256
25.08.2006, 03:09
Попробуй это, должно работать:
создай StatusBar, вставь в него 3 панели. Свойсво Style для первой установи "Caps", для второй - "Num", для третьей - "Scrl". А потом отслеживай их состояние.
PS:
Точно знаю, что есть такая API-функция, которая отслеживает и Caps, и Num, и Scroll. Но какая это именно функция, не помню. Если найду, помещу в форум.
0
0 / 0 / 0
Регистрация: 10.08.2006
Сообщений: 11
26.08.2006, 15:15  [ТС]
Спасибо, попробую и напишу о том, что получилось!
0
0 / 0 / 0
Регистрация: 31.05.2006
Сообщений: 40
28.08.2006, 02:59
Попытайся использовать GetAsyncKeyState() с параметрами
&H14 - Caps Lock
&H90 - Num Lock
&H91 - Scroll Lock
Эта функция возвращает 0, если клавиша не была нажата,
1, если она была нажата и отпущена, и другое значение,
если она нажата сейчас.
В случае, если "лампочка" горит, клавиша нажата сейчас.

Удачи!

Если все еще есть проблемы, можешь писать напрямую
желательно по-английски, поскольку у меня Hebrew Enabled Windows.

Рут Глушкина,
Израиль
0
0 / 0 / 0
Регистрация: 10.08.2006
Сообщений: 11
29.08.2006, 15:14  [ТС]
БОЛЬШОЕ спасибо Всем кто принимал участие! Вот, как Я сам реализовал ЭТО. На оригинальность не претендую!
---------------
1. Создайте стандартный проект; 2. На форму поместите таймер (Timer); 3. Задайте ему следующие свойства: Enabled=False, Interval=10
----------------
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private Declare Function GetKeyState Lib "user32.dll" (ByVal nVirtKey As Long) As Integer
Private Declare Function SetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long
Private Type KeyboardBytes
     kbByte(0 To 255) As Byte
End Type
Dim ASD As Long, ASDOLD As Long, kbArray As KeyboardBytes
Const VK_NUMLOCK = &H90
Const VK_SCROLL = &H91
Const VK_CAPITAL = &H14
' ----------------------
Private Sub Form_Load()
If GetKeyState(&H90) = 1 Then
   Me.Visible = True
Else
    Me.Visible = False
End If
Timer.Enabled = True
End Sub
' -----------------------
Private Sub Timer_Timer()
 ASD = GetAsyncKeyState(VK_NUMLOCK)
 If ASD = ASDOLD Then Exit Sub
 If ASD < 0 And ASDOLD < 0 Or ASD > 1 And ASDOLD > 1 Then Exit Sub
  ASDOLD = ASD
If ASD <> 0 Then
  If Me.Visible = False Then
       Me.Visible = True
            kbArray.kbByte(VK_NUMLOCK) = 1
            SetKeyboardState kbArray
       Me.WindowState = 0
       Me.SetFocus
   Else
       Me.Visible = False
    End If
End If
End Sub
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.08.2006, 15:14
Помогаю со студенческими работами здесь

Управление клавишами и индикаторами CapsLock, ScrLock, NumLock
Добрый всем день. Возникла необходимость программно управлять режимами клавиатуры (имеется ввиду капслок, намлок и скроллок). Грубо говоря...

Определение состояния клавиш Ins, CapsLock, NumLock, ScrollLock
Помогите пожалуйста с решением задачки..... Написать программу, определяющую состояние клавиш Ins, CapsLock, NumLock, ScrollLock и...

Компьютер не грузится, на клавиатуре одновременно мигають CapsLock+NumLock+ScrollLock
Доброе время суток! У меня проблема: есть системник точно рабочими: блоком питания, оперативкой и видяхой, но почему то при загрузке на...

HP Pavilion dv6-2110 el не включается мигают 2 лампы возле CapsLock и NumLock
Привет всем ! Такая проблема HP Pavilion dv6-2110 el не включается мигают 2 лампы возле CapsLock и NumLock причем 2 раза мигают потом 2 сек...

Написать программу включения выключения клавиш NumLock,CapsLock,ScrollLock,Ins нажатием клавиш f1,f2,f3,f4.
Текст программы есть, но где то допущена ошибка! помогите разобраться Ход. ; В зависимости от того, какая клавиша нажата...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru