Заблокировать рабочую станцию ​​Windows программно в С#

Я столкнулся с этим примером для блокировки рабочей станции 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.

Ответы

Ответ 1

Нет, нет. Это лучший способ добиться этого.

Даже если бы это было предусмотрено в BCL, его реализация почти наверняка была бы идентична вашей выборке. Это не то, что CLR будет изначально реализовывать.