Страница: 1 |
Страница: 1 |
Вопрос: VB.NET глобальные горячие клавиши
Добавлено: 08.09.11 23:18
Автор вопроса: Progto
Подскажите как в vb.net сделать глобальные горячие клавиши?
Есть следующий код, но у него есть недостатки:
- иногда не срабатывает (через раз работает);
- в некоторых программах вообще не работает (Opera).
Public Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Dim keystate = GetAsyncKeyState(Keys.ControlKey)
Dim keystate1 = GetAsyncKeyState(Asc(1))
If (keystate And &H1) = &H1 And (keystate1 And &H1) = &H1 Then
MsgBox(1)
End If
End Sub
End Class
Ответы
Всего ответов: 2
Номер ответа: 1
Автор ответа:
---Fix---
ICQ: 348680795
Вопросов: 12
Ответов: 33
Профиль | | #1
Добавлено: 09.09.11 08:39
- иногда не срабатывает (через раз работает);
- в некоторых программах вообще не работает (Opera).
http://www.vbnet.ru/forum/show.aspx?id=100115
Номер ответа: 2
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #2
Добавлено: 09.09.11 18:44
глобальные хоткеи на getkeystate не сделать, как раз таки async помогало в старом бейсике. Вообще может у вас слишком большое время тика таймера стоит? еще можно поставить хук на клавиатуру.