Я столкнулся с этим примером для блокировки рабочей станции Windows:
using System.Runtime.InteropServices;
...
[DllImport("user32.dll", SetLastError = true)]
static extern bool LockWorkStation();
...
if (!LockWorkStation())
throw new Win32Exception(Marshal.GetLastWin32Error()); // or any other thing
Существует ли чисто управляемая альтернатива этому фрагменту? А именно без P-Invoke.