在控制面板里的电源管理,有什么方法可以在自己的程序里设置关闭监视器、系统等待、系统休眠那三个时间?(50分)

  • 主题发起人 主题发起人 Iveny
  • 开始时间 开始时间
I

Iveny

Unregistered / Unconfirmed
GUEST, unregistred user!
希望可以提供例子,谢谢~
 
SetSystemPowerState
 
我在MSDN里找到这函数,可是我的英文不太好,可以解析一下怎么用吗(中文)?
谢谢~
 
procedure TForm1.Button1Click(Sender: TObject);
begin
setsystempowerstate(true,true);
end;
第一个可以忽略
第二个代表是否强制挂起,true强制挂起,FALSE则首先向所有应用程序和驱动程序发出
挂起请求,请求允许后再挂起。
 
可是我需要的是设定它的时间啊!
而且,希望可以先把原设定值保存在变量里,在修改那三个时间!
 
应该存取注册表HKEY_CURRENT_USER/Control Panel/PowerCfg,我想。你可以试试啊
 
这个键值不行,有没有什么方法?
 
HKEY_CURRENT_USER/Control Panel/Desktop
--〉PowerOffActive
--〉PowerOffTimeOut
--〉ScreenSaveTimeOut
--〉LowPowerActive
--〉LowPowerTimeOut
修改之后SendMessage(wm_settingchange)
 
为什么之后要加SendMessage(wm_settingchange)?
 
通知系统设置改变了,要不谁知道你修改了注册表?
 
其实用SystemParametersInfo()更好。不需要修改注册表。
 
To:Kingron,注册表:HKEY_CURRENT_USER/Control Panel/Desktop没有你说的选项啊?
SystemParametersInfo()怎么用的?我需要把当前的设置先保存下来,等用完后,再改会
之前的值!
 
I want also to know
 
Old:=SystemParametersInfo(SPI_GetXXXX.....);
SystemParametersInfo(SPI_SetXXXXX......);
//Do Something
SystemParametersInfo(SPI_SetXXXX..Old...);
 
已经说得这么明白了,还要代码?
没有注册表的值,你自己可以建立啊!
写一个例子吧(其它的类似了):
SystemParametersInfo(SPI_SETPOWEROFFTIMEOUT,600,nil,SPIF_SENDCHANGE)
///设置多久时间进入Low Power状态
SPI_GETLOWPOWERTIMEOUT
SPI_SETLOWPOWERACTIVE
SPI_SETLOWPOWERTIMEOUT
SPI_SETPOWEROFFACTIVE
SPI_SETPOWEROFFTIMEOUT
SPI_SETSCREENSAVETIMEOUT
SPI_SETSCREENSAVEACTIVE
 
接受答案了.
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部