我怎样才能阻止在C#键盘和鼠标input?

我正在寻找一些防止键盘鼠标input的代码(最好是C#)。

Solutions Collecting From Web of "我怎样才能阻止在C#键盘和鼠标input?"

扩大乔希的(正确的)答案。 这是该方法的PInvoke签名。

public partial class NativeMethods { /// Return Type: BOOL->int ///fBlockIt: BOOL->int [System.Runtime.InteropServices.DllImportAttribute("user32.dll", EntryPoint="BlockInput")] [return: System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.Bool)] public static extern bool BlockInput([System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.Bool)] bool fBlockIt) ; } public static void BlockInput(TimeSpan span) { try { NativeMethods.BlockInput(true); Thread.Sleep(span); } finally { NativeMethods.BlockInput(false); } } 

编辑

添加了一些代码来演示如何阻止一段时间

查看BlockInput Win32函数

听起来像一些有趣的测试:)

看看这篇文章处理全局鼠标和键盘挂钩在C#中 。 写这篇文章的人已经做了很多关于这个问题的研究。

也许有一些东西可以使用。