为什么BlockInput对我不起作用?我忘记了什么吗?

时间:2019-02-18 13:56:16

标签: c# .net dll user32

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

公共局部类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);

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

1 个答案:

答案 0 :(得分:0)

显然,BlockInput函数无法在64位上工作。您可以从这里尝试答案: Using BlockInput to block keyboard and mouse input

相关问题