gpt4 book ai didi

c# - 计算机状态( sleep 、休眠、锁定等)Windows 10

转载 作者:太空狗 更新时间:2023-10-30 01:29:03 25 4
gpt4 key购买 nike

我需要检查计算机的当前状态 。休眠、 sleep 、待机锁定等

我只想问一下如何使用C#获取我电脑的当前状态?我已经通过检测 LockApp 进程了解计算机何时被锁定,但我无法了解它是处于 sleep 模式还是休眠状态。

我想尝试一个将使用任务计划程序运行并检查计算机当前状态并将显示在控制台上的项目。

请注意,我是在项目运行时检测计算机的状态。谢谢你。对不起我的英语不好。 :)

//Will return true if the Computer is Locked
public bool Lock()
{
Boolean locked = false;
Process[] LockApp = Process.GetProcesses();
foreach (Process theprocess in LockApp)
{
if (theprocess.ProcessName == "LockApp")
{
locked = true;
Console.WriteLine("LockApp: " + locked.ToString());
}
}
return locked;
}
//Will return true if still on Startuptime (+5min)
public bool onStartupTime()
{
bool oST = false;
DateTime ST = DateTime.Now.AddMilliseconds(-
Environment.TickCount);
DateTime Less = DateTime.Now.AddMinutes(-5);
DateTime Now = DateTime.Now;

Console.WriteLine(ST.ToString("yyyy-MM-dd HH:mm:ss"));
Console.WriteLine(Less.ToString("yyyy-MM-dd HH:mm:ss"));
Console.WriteLine(Now.ToString("yyyy-MM-dd HH:mm:ss"));

if (ST >= Less)
{
oST = true;
}

return oST;
}

OnStartup(-5 分钟):true 或 false锁定:真或假 sleep :真还是假休眠:真或假

最佳答案

根据 this link ,您可以使用 SystemEvents.PowerModeChanged 来完成。此处还发布了一个使用示例:

    SystemEvents.PowerModeChanged += new PowerModeChangedEventHandler(OnPowerModeChanged);


private static void OnPowerModeChanged(object sender, PowerModeChangedEventArgs e)
{
switch (e.Mode)
{
case PowerModes.Resume:
MessageBox.Show("PowerMode: OS is resuming from suspended state");
break;

case PowerModes.Suspend:
MessageBox.Show("PowerMode: OS is about to be suspended");
break;
}
}

关于c# - 计算机状态( sleep 、休眠、锁定等)Windows 10,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54742257/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com