-1

我想在短时间内阻止用户键盘输入,但该方法不起作用。

公共部分类 NativeMethods {

    [DllImport("user32.dll", EntryPoint = "BlockInput")]
    [return: MarshalAs(UnmanagedType.Bool)]
    public static extern bool BlockInput([MarshalAs(UnmanagedType.Bool)] bool fBlockIt);

}

public class KeyboardBlocker
{

    public static void Block(int span)
    {
        try
        {
            NativeMethods.BlockInput(true);
            Console.WriteLine("should have blocked");
            Thread.Sleep(span);
        }
        finally
        {
            NativeMethods.BlockInput(false);

有人有想法吗?已经谢谢了

4

1 回答 1

0

显然 BlockInput 函数在 64 位中不起作用。您可以从这里尝试答案: 使用 BlockInput 阻止键盘和鼠标输入

于 2019-02-18T14:11:17.253 回答