Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: VB.NET глобальные горячие клавиши Добавлено: 08.09.11 23:18  

Автор вопроса:  Progto
Подскажите как в vb.net сделать глобальные горячие клавиши?
Есть следующий код, но у него есть недостатки:
- иногда не срабатывает (через раз работает);
- в некоторых программах вообще не работает (Opera).

Public Class Form1
    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-сайт: winandfx.narod.ru
 Профиль | | #2
Добавлено: 09.09.11 18:44
глобальные хоткеи на getkeystate не сделать, как раз таки async помогало в старом бейсике. Вообще может у вас слишком большое время тика таймера стоит? еще можно поставить хук на клавиатуру.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам