c++ 如何判断用户是否 启用了 睡眠功能呢?

2020-10-27 03:52:33 +08:00
 PUBG98k
c++ 如何判断用户是否 启用了 睡眠功能呢?
有哪个大佬知道 xp - 10 通用的查询 api?
1147 次点击
所在节点    程序员
8 条回复
xupefei
2020-10-27 03:55:46 +08:00
PUBG98k
2020-10-27 04:10:48 +08:00
@xupefei 这个注册表信息好像仅适用于 WinCE 系统.
skydiver
2020-10-27 04:25:35 +08:00
@PUBG98k 并不是,点进去链接才是那个系统的文档
PUBG98k
2020-10-27 04:39:24 +08:00
@skydiver 感谢回复.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\Timeouts
HKEY_CURRENT_USER\ControlPanel\Power
这 2 个注册表项在我的 Win10,虚拟机 Win7 都没有~应该就是 ce 系统的~
skydiver
2020-10-27 04:45:21 +08:00
看起来这个网页是给 mobile 的,然后里面再点进去是 CE 的
xupefei
2020-10-27 05:13:12 +08:00
PUBG98k
2020-10-27 06:04:30 +08:00
感谢楼上,找到了.在这个位置.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\User\PowerSchemes\8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c\238c9fa8-0aad-41ed-83f4-97be242c8f20\29f6c1db-86da-48c5-9fdb-f2b67b1f44da

ACSettingIndex 的值就是 睡眠时间.0 是没开启
ysc3839
2020-10-27 10:45:26 +08:00
正确做法应该是用 Power Scheme 相关的 API 去读,注册表不保证兼容性的。
曾经写过一个连接外接屏幕时关闭合盖睡眠的小工具,里面就用到了 Power Scheme 相关的 API 。
https://github.com/ysc3839/ProjectionAwake

需要注意的是,这套 API 是从 Vista 开始才有的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/718861

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX