Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Включение CapsLock


Автор: amt 15.12.2004, 14:58
Помогите плиз.
Как програмно включать и отключать режим CapsLock?

Автор: cardinal 15.12.2004, 15:41
http://www.vbarchiv.net/archiv/tipp_1025.html
переводить лень, но думаю и так все ясно smile

Автор: amt 20.12.2004, 20:56
cardinal[b]
Спасибо за сслылку.
Взял из нее следующий код:

Код

Private Declare Sub keybd_event Lib "user32" ( _
 ByVal bVk As Byte, _
 ByVal bScan As Byte, _
 ByVal dwFlags As Long, _
 ByVal dwExtraInfo As Long)

Private Const VK_CAPITAL = &H14
Private Const KEYEVENTF_KEYUP = &H2


При загрузке формы
Код

keybd_event VK_CAPITAL, 1, 0, 0
keybd_event VK_CAPITAL, 1, KEYEVENTF_KEYUP, 0


В результате происходит переключение режима CapsLock:
если выключен - включается и наоборот.
А как отследить состояние этого режима, чтобы его включение происходило только при выключенном CapsLock?
Можа поможешь.
Заранее благодарен.

Автор: cardinal 20.12.2004, 22:00
Код

If Not (GetKeyState(vbKeyCapital) = 1) Then
 keybd_event VK_CAPITAL, 1, 0, 0
 keybd_event VK_CAPITAL, 1, KEYEVENTF_KEYUP, 0
End If

оттуда же smile

Автор: amt 26.12.2004, 22:13
cardinal,
это все хорошо, и это я все уже видел и разобрался, но у меня возникает ошибка при использовании функции
GetKeyState
она не определена.
У меня Win98, можа в этом проблема?
Когда я воспользовался твоей ссылкой то из перевода я понял, что данный код предназначен для 2k ОС, а для 9х я не нашел.

Автор: cardinal 26.12.2004, 22:28
Цитата(amt @ 26.12.2004, 20:13)
она не определена.

Код

Private Declare Function GetKeyState Lib "user32" Alias "GetKeyState" (ByVal nVirtKey As Long) As Integer
smile

Автор: amt 26.12.2004, 22:38
cardinal,
Спасибо, попробую.
(наверное, я сам должен был это догнать)

Автор: cardinal 26.12.2004, 22:43
Цитата(amt @ 26.12.2004, 20:38)
наверное, я сам должен был это догнать

наверно smile

Автор: amt 26.12.2004, 22:49
cardinal,
надеюсь, ты не издеваешься? (людям иногда свойственно притормаживать)

Автор: cardinal 27.12.2004, 00:02
Цитата(amt @ 26.12.2004, 20:49)
надеюсь, ты не издеваешься? (людям иногда свойственно притормаживать)

Да не бери в голову smile По поводу притормаживать это я по себе тоже неплохо знаю smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)