¿Cómo puedo bloquear la entrada del teclado y el mouse en C #?

Estoy buscando algún código (preferiblemente C #) que evitará la entrada del teclado y el mouse.

Ampliando la respuesta de Josh (correcta). Aquí está la firma PInvoke para ese método.

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); } } 

EDITAR

Se agregó un código para demostrar cómo bloquear durante un intervalo

Mira en la función BlockInput Win32

Suena como una prueba divertida 🙂

Eche un vistazo a este artículo Procesamiento global de mouse y ganchos de teclado en C # . El tipo que escribió este artículo ha investigado mucho sobre el problema.

Tal vez hay algo que puedas usar.