VC++创建WIN7电源管理方案

最近由于项目的需要一直在搞WIN7的电源管理方案,本来想在网上查点类似的代码,可是搜了许久,一点有用的知识也没有,索性自己来研究了,MSDN上面说的到挺详细,不过没有示例,一些参数总是搞不明白,而且WIN7下的电源管理方案的API函数和XP下有了很大的改变,写这篇文章的目的:一是帮助向我这样苦苦搜索类似的资料的同行人,二是做一个笔记避免将来自己忘掉,做一个备份.

要提起WIN7的电源管理方案,首先要说的就是GUID,在WIN7下 每一个设备都给分配了一个GUID,电源管理方案,同样如此,这里主要用到了三种GUID:

1.SchemeGuid 这个是用来标示电源管理方案的,就是在WIN7下我们看到 什么平衡模式,节能模式,高性能模式.

const GUID FAR GUID_POWER_SAVER ={ 0xa1841308, 0x3541, 0x4fab, { 0xbc, 0x81, 0xf7, 0x15, 0x56, 0xf2, 0x0b, 0x4a } }; //节能

//a1841308-3541-4fab-bc81-f71556f20b4a

const GUID FAR GUID_BALANCED ={ 0x381b4222, 0xf694, 0x41f0, { 0x96, 0x85, 0xff, 0x5b, 0xb2, 0x60, 0xdf, 0x2e } };     //平横

//381b4222-f694-41f0-9685-ff5bb260df2e

const GUID FAR GUID_HIGH_PERFORMANCE ={ 0x8c5e7fda, 0xe8bf, 0x4a96, { 0x9a, 0x85, 0xa6, 0xe2, 0x3a, 0x8c, 0x63, 0x5c } }; //高性能

这是WIN7下的三种电源管理方案的三种模式的GUID,这些东西是不变的.

2.Subgroup GUID 也就是API函数中SubGroupOfPowerSettingsGuid 这个参数 是每个电源管理方案下每个小组的的GUID,这个参数非常重要,控制每组的参数 全指望它了.

Value Meaning
NO_SUBGROUP_GUID fea3413e-7e05-4911-9a71-700331f1c294

Settings in this subgroup will be part of the default power scheme.

GUID_DISK_SUBGROUP 0012ee47-9041-4b5d-9b77-535fba8b1442

Settings in this subgroup control power management configuration of the system's hard disk drives.

GUID_SYSTEM_BUTTON_SUBGROUP 4f971e89-eebd-4455-a8de-9e59040e7347

Settings in this subgroup control configuration of the system power buttons.

GUID_PROCESSOR_SETTINGS_SUBGROUP 54533251-82be-4824-96c1-47b60b740d00

Settings in this subgroup control configuration of processor power management features.

GUID_VIDEO_SUBGROUP 7516b95f-f776-4464-8c53-06167f40cc99

Settings in this subgroup control configuration of the video power management features.

GUID_BATTERY_SUBGROUP e73a048d-bf27-4f12-9731-8b2076e8891f

Settings in this subgroup control battery alarm trip points and actions.

GUID_SLEEP_SUBGROUP 238C9FA8-0AAD-41ED-83F4-97BE242C8F20

Settings in this subgroup control system sleep settings.

GUID_PCIEXPRESS_SETTINGS_SUBGROUP 501a4d13-42af-4429-9fd1-a8218c268e20

Settings in this subgroup control PCI Express settings.

上面这些是所有的Subgroup GUID.

3.还有最后一个参数就是Power Setting GUID,刚开始搞时也就是这个参数困忧了我很长时间,一直不知道是做什么用的,后来才知道,他是Subgroup GUID 的子项,也就是组选项下面的小选项.这个里面涉及的参数比较多,API没有给出详细的GUID 不过我都导出来了,供大家使用方便和自己查询.

Current DC Power Setting Index: 0x00000258

Subgroup GUID: 0d7dbae2-4294-402a-ba8e-26777e8488cd (Desktop background setti
ngs)
    Power Setting GUID: 309dce9b-bef4-4119-9921-a851fb12f0f4 (Slide show)
      Possible Setting Index: 000
      Possible Setting Friendly Name: Available
      Possible Setting Index: 001
      Possible Setting Friendly Name: Paused
    Current AC Power Setting Index: 0x00000000
    Current DC Power Setting Index: 0x00000001

Subgroup GUID: 19cbb8fa-5279-450e-9fac-8a3d5fedd0c1 (Wireless Adapter Setting
s)
    Power Setti

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值