直接贴代码,然后再解释代码
class ComputerStatusSwitch
{
public bool _IsSleeping = false;
public Action SessionUnlockAction {get; set;}
public Action SessionlockAction {get; set;}
public ComnputerStatusSwitch()
{
SystemEvents.SessionSwitch += SystemEvents_SessionSwitch;
}
~ComputerStatusSwitch()
{
SystemEvents.SessionSwitch -= SystemEvents_SessionSwitch;
}
public void SystemEvents_SessionSwitch(object sender, SessionSwitchEventArgs e)
{
switch (e.Reason)
{
switch (e.Reason)
{
case SessionSwitchReason.SessionLock:
_IsSleeping = true;break;
case SessionSwitchReason.SessionUnlock:
_IsSleeping = false;break;
case SessionSwitchReason.SessionLogon:
_IsSleeping = false;break;
default:
_IsSleeping = false

本文分享了一段C#代码,用于监控电脑的锁屏状态。通过委托的+=和-=操作符加载和卸载事件,以防止句柄泄露。创建类的对象后,可以检查_IsSleeping标志来确定电脑是否被锁定。
最低0.47元/天 解锁文章
1061

被折叠的 条评论
为什么被折叠?



