Bloquear la estación de trabajo de Windows mediante programación en C#
pinvoke pure-managed (1)
No no hay. Esta es la mejor manera de lograr esta acción.
Incluso si se proporcionara en el BCL, su implementación sería casi idéntica a su muestra. No es algo que el CLR implementaría de forma nativa.
Me encontré con este ejemplo para bloquear la estación de trabajo de 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
¿Hay una alternativa puramente gestionada para este fragmento? A saber, sin P-Invoke.