【问题标题】:Lock Windows workstation programmatically in C#在 C# 中以编程方式锁定 Windows 工作站
【发布时间】:2010-11-18 18:45:48
【问题描述】:

我遇到了这个锁定 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

这个 sn-p 有一个纯托管的替代方案吗?即,没有 P-Invoke。

【问题讨论】:

    标签: c# windows pinvoke pure-managed


    【解决方案1】:

    不,没有。这是实现此操作的最佳方式。

    即使它是在 BCL 中提供的,它的实现也几乎肯定会与您的示例相同。这不是 CLR 本身会实现的。

    【讨论】:

    • @RonKlein:嘿,我想做同样的事情。即以编程方式锁定 Windows 桌面并显示登录屏幕而不关闭当前用户的会话。这是一样的还是不同的???感谢您提供上述解决方案,它在很多方面帮助了我。请让我清楚上面的问题。
    • @Hemang Rami,我认为您尝试做的正是我要问的:锁定工作站,同时保持当前会话处于活动状态。
    • @RonKlein:我是使用 LOCKWORKSTATION 方法完成的。现在可以了吗? ?我没有使用 rundll32.exe 来锁定工作站。
    • @Hemang Rami,没问题。只知道它只适用于 Windows 操作系统。
    猜你喜欢
    • 2010-09-15
    • 2018-05-12
    • 2012-11-24
    • 2010-09-07
    • 2011-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多