为啥 BlockInput 对我不起作用?我忘了啥吗?

Posted

技术标签:

【中文标题】为啥 BlockInput 对我不起作用?我忘了啥吗?【英文标题】:Why does the BlockInput not work for me ? Did i forget anything?为什么 BlockInput 对我不起作用?我忘了什么吗? 【发布时间】:2019-07-11 22:22:12 【问题描述】:

想短时间屏蔽用户键盘输入,但是方法不行。

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

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

【问题讨论】:

究竟是什么不起作用?你从BlockInput 得到的返回值是多少?如果它不为零,您可以使用 GetLastError 获取最后一个错误。 我真的没有得到返回值 【参考方案1】:

显然 BlockInput 函数在 64 位中不起作用。您可以从这里尝试答案: Using BlockInput to block keyboard and mouse input.

【讨论】:

它是如何使用的?

以上是关于为啥 BlockInput 对我不起作用?我忘了啥吗?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Class.forName() 对我不起作用?

为啥交换功能对我不起作用? [复制]

为啥 '@drop' 事件在 vue 中对我不起作用?

为啥灯箱 jQuery 插件对我不起作用?

为啥发布到 PayPal 沙盒 API 对我不起作用?

为啥 webpack 代码拆分对我不起作用?