我正在寻找一些防止键盘和鼠标input的代码(最好是C#)。
扩大乔希的(正确的)答案。 这是该方法的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#中 。 写这篇文章的人已经做了很多关于这个问题的研究。
也许有一些东西可以使用。