Функция BlockInput не работает в программе - PullRequest
0 голосов
/ 20 сентября 2019

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

В настоящее время я пытался использовать:

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

&

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

и затем вызывать либо BlockInput(True/False), либо BlockInput(1/0) в зависимости от того, как я объявляю функцию `BlockInput '.

В настоящее время ни одна из них не останавливает движение мыши, когда я перетаскиваю ее по экрану.

Что мне нужно включить в мой код, чтобы эта функция работала?Я знаю, что отключение мыши таким образом может также отключить саму программу от выполнения щелчка, но я даже не смог проверить это, так как я не могу получить это далеко.

Любая помощьценится, спасибо!

1 Ответ

1 голос
/ 20 сентября 2019

проверено и заставило меня перезагрузиться :) Осторожно.Работаю на win 10

Imports System.Runtime.InteropServices

Public Class Form1

<DllImport("user32.dll", EntryPoint:="BlockInput")> _
Private Shared Function BlockInput(<MarshalAs(UnmanagedType.Bool)> ByVal fBlockIt As Boolean) As <MarshalAs(UnmanagedType.Bool)> Boolean
End Function

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    BlockInput(True)
End Sub

End Class
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...