Блокирование клавиши WIN под XP
Win (Чтоб при нажатии меню Пуск не вылезало), и, желательно, комбинации Alt+Tab; Alt+Esc ?
Под 95-98 это через API делалось, а под XP не работает. :(((
Цитата:
Originally posted by lexrem
Можно ли и как под Windows XP заблокировать клавишу
Win (Чтоб при нажатии меню Пуск не вылезало), и, желательно, комбинации Alt+Tab; Alt+Esc ?
Под 95-98 это через API делалось, а под XP не работает. :(((
Можно ли и как под Windows XP заблокировать клавишу
Win (Чтоб при нажатии меню Пуск не вылезало), и, желательно, комбинации Alt+Tab; Alt+Esc ?
Под 95-98 это через API делалось, а под XP не работает. :(((
А нажатие клавиши надо отловить над формой?
Цитата:
Originally posted by mhaturov
А нажатие клавиши надо отловить над формой?
А нажатие клавиши надо отловить над формой?
В данном случае да.
Не могу понять почему не работает вариант с API из 95-98... там помойму это делалось через переобозначения горячих клавиш на свои (RegisterHotKey), может это конечно заморочки WinXP, который некоторые комбинации клавиш оставляет за собой, чтобы можно было всегда переключиться в другую задачу или к менеджеру...
Цитата:
Originally posted by lexrem
В данном случае да.
В данном случае да.
Если я правильно помню. клавиша WIN имеет код 91, поэтому попробуй отлавливать его на событиии Form_KeyDoun(), а так же на этом событии на всех контролах формы. Код примерно такой:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case 91
KeyCode = 0
End Select
End Sub
Если это не поможет, прийдётся копать через API:
Public Declare Sub keybd_event Lib "user32" Alias "keybd_event" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
и с функциями, которые, по всей видимости, начинаются с GetKey (см. API Viever)