直接贴代码,然后再解释代码
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: