2015-09-04 3 views
-1

Я написал техническую панель инструментов в autohotkey, но многие AV-программы начали убивать вещи, написанные в autohotkey, поэтому я переделываю его в VB .net Мне удалось получить больше всего но один из инструментов, который почти каждый, кто использует мой набор инструментов, - это горячая клавиша, которая отключает мышь. Мы работаем удаленно с помощью logmein, и это просто заставляет клиентов убивать такие вещи, как средства удаления вирусов.Как отключить мышь с помощью Visual Basic

Я нашел способ отключить как мышь, так и клавиатуру с помощью VB.net, но он отключает ее полностью, а не только для клиента, и я просто хочу, чтобы она отключила мышь, а не клавиатуру, потому что, когда она убивает как горячая клавиша, чтобы включить их снова, не работает.

Вот что я использовал для кода.

Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vkey As Long) As Integer 
Private Declare Function BlockInput Lib "user32" Alias "BlockInput" (ByVal fBlock As Integer) As Integer 
Private Declare Function ShowCursor Lib "user32" (ByVal lShow As Long) As Long 
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick 
    Timer1.Enabled = True 
    Timer1.Interval = 1 
    Dim mkey As Boolean 
    Dim dkey As Boolean 
    Dim ekey As Boolean 
    mkey = GetAsyncKeyState(Keys.M) 
    dkey = GetAsyncKeyState(Keys.D) 
    ekey = GetAsyncKeyState(Keys.E) 
    If mkey And dkey = True Then 
     BlockInput(1) 
     ShowCursor(0) 
    End If 

    If mkey And ekey = True Then 
     BlockInput(0) 
     ShowCursor(1) 
    End If 
End Sub 
+1

Не используйте 'Integer' и' 'Long' в инструкции Declare' (или р/вызова). Вместо этого используйте 'Int32' (или соответствующие другие размеры). Многие из ваших заявлений неверны. –

+0

@BenVoigt это абсолютно правильно (+1) –

ответ

1
Private Declare Function BlockInput Lib "user32" Alias "BlockInput" (ByVal fBlock As Integer) As Integer 

Чтобы включить

BlockInput 1 

Чтобы отключить

BlockInput 0 
+0

dwb thats то, что он делает прямо сейчас, и блокирует все входные данные, поэтому у вас есть горячая клавиша для отключения, а другая - для включения, также она не позволяет действиям через удаленное программное обеспечение переопределять его. –

+0

Может ли кто-нибудь дать мне другие способы, потому что этот способ не делает то, что мне нужно, отключает клавиатуру, а также мышь. –

Смежные вопросы