
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[35.172.165.64] |
![]() |
|
Сообщ.
#1
,
|
|
|
Меняю ключ реестра:
[HKEY_CURRENT_USER\Control Panel\Accessibility\Keyboard Response] "Flags"="122" (это специальные возможности, способ включения фильтрации ввода) Но изменение начинает работать только после перезагрузки. А мне надо, чтобы сразу. И чтобы потом вернуть всё как было ![]() Как этого добиться? Ведь если менять настройку из панели управления, изменение действует сразу. |
Сообщ.
#2
,
|
|
|
Вопрос решён вот здесь:
http://bbs.vbstreets.ru/viewtopic.php?p=6711347#p6711347 Удалось-таки обойтись без записи в реестр - изменения настроек происходят, но не сохраняются (если, конечно, не установить специальный флаг): ![]() ![]() 'модуль SystemInfo Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" ( _ ByVal uAction As Long, _ ByVal uParam As Long, _ lpvParam As Any, _ ByVal fuWinIni As Long) As Long Public Type STICKKYKEYS cbSize As Long dwFlags As Long End Type Public Const SKF_HOTKEYACTIVE = 4 Private Const SPI_GETSTICKYKEYS = 58 Private Const SPI_SETSTICKYKEYS = 59 Property Get stickkyKeysInf() As STICKKYKEYS stickkyKeysInf.cbSize = Len(stickkyKeysInf) SystemParametersInfo SPI_GETSTICKYKEYS, stickkyKeysInf.cbSize, stickkyKeysInf, 0& End Property 'typedef struct tagSTICKYKEYS { ' DWORD cbSize; ' DWORD dwFlags; '} STICKYKEYS, *LPSTICKYKEYS; Property Let stickkyKeysInf(st As STICKKYKEYS) st.cbSize = Len(st) SystemParametersInfo SPI_SETSTICKYKEYS, st.cbSize, st, 0& End Property Использование: ![]() ![]() Private Sub setStickkyKeysHotKeyActive(YesNo As Boolean) Dim st As STICKKYKEYS st = SystemInfo.stickkyKeysInf If YesNo Then st.dwFlags = st.dwFlags Or SKF_HOTKEYACTIVE Else st.dwFlags = st.dwFlags And (Not SKF_HOTKEYACTIVE) End If SystemInfo.stickkyKeysInf = st End Sub Это - использование и отключение испования пятикратного нажатия шифта для залипания клавиш. Для фильтрации ввода код практически такой же ![]() |