Cómo bloquear mediante programación el mouse y el teclado usando C#
El más simple... puedes usar los ganchos del teclado (WH_KEYBOARD_LL) y del mouse (WH_MOUSE_LL).
Los ganchos globales se pueden implementar sin usar una Dll....
Consulte MSDN DllImport (llamada DLL API del sistema) en C# y API SetWindowsHookEx para cargar ganchos y API UnhookWindowsHookEx para descargar ganchos.