我遇到了锁定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。
答案 0 :(得分:18)
不,没有。这是实现此操作的最佳方式。
即使它是在BCL中提供的,它的实现几乎肯定会与您的样本相同。这不是CLR原生实现的东西。