记录一些有用的API(一)

本文主要介绍了几个用于Windows电源管理的API,包括RegisterPowerSettingNotification用于注册电源事件监听,GetSystemPowerStatus获取系统电源状态,GetDevicePowerState获取设备电源状态,以及WTS系列函数用于处理会话管理和ID获取。这些API对于开发需要响应电源变化的应用程序非常有用。
部署运行你感兴趣的模型镜像

一.(Un)RegisterPowerSettingNotification(Vista+)

注册电源事件,允许用WM_POWERBROADCAST捕获消息,如笔记本电脑电量的使用,百分比发生变化会发送消息,还有一些键盘的物理按键
Registers the application to receive power setting notifications for the specific power setting event.

二.GetSystemPowerStatus 获取电源状态

SYSTEM_POWER_STATUS status;
GetSystemPowerStatus(&status);
比如查看电池现在的百分比及可用时间

三.GetDevicePowerState获取设备电源状态

Retrieves the current power state of the specified device. This function cannot be used to query the power state of a display device.
BOOL WINAPI GetDevicePowerState(
  __in   HANDLE hDevice,
  __out  BOOL* pfOn
);

四.WTS(Un)RegisterSessionNotification

http://hi.baidu.com/lifuchao2008/blog/item/efc44150d3691665843524d4.html
但切换用户时,如用户锁定,远程登录触发消息
switch(message)
 {
  case WM_WTSSESSION_CHANGE:
   {
switch(wParam)
   {
   case WTS_CONSOLE_CONNECT:
    MessageBox("WTS_CONSOLE_CONNECT", "Esmile", MB_OK );
    break;
   case WTS_CONSOLE_DISCONNECT:
    MessageBox("WTS_CONSOLE_DISCONNECT",
    "Esmile", MB_OK );
    break;
   case WTS_SESSION_LOCK:
    MessageBox("WTS_SESSION_LOCK",
    "Esmile", MB_OK );
    break;
   case WTS_SESSION_UNLOCK:
    MessageBox("WTS_SESSION_UNLOCK",
    "Esmile", MB_OK );
    break;
   case WTS_SESSION_LOGOFF:
    MessageBox("WTS_SESSION_LOGOFF",
    "Esmile", MB_OK );
    break;
   case WTS_SESSION_LOGON:
    MessageBox("WTS_SESSION_LOGON",
    "Esmile", MB_OK );
    break;
   default:
    break;
   }
}
   break;
default:
   break;
 }

五.WTSGetActiveConsoleSessionId

得到当前登录用户的会话ID

DWORD WTSGetActiveConsoleSessionId(void);

六.ProcessIdToSessionId

根据进程ID获取SessionId
DWORD a=WTSGetActiveConsoleSessionId();
DWORD b=0;
ProcessIdToSessionId(GetCurrentProcessId(),&b);
a==b;

七.POWERBROADCAST_SETTING

当在WM_POWERBROADCAST消息中捕获消息时可以转化成这个结构体

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值