Private Declare Function SystemParametersInfo Lib "user32" Alias _ "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, _ ByRef lpvParam As Any, ByVal fuWinIni As Long) As Long Const SPI_SETLOWPOWERTIMEOUT = 81 Const SPI_SETPOWEROFFTIMEOUT = 82 Const SPI_SETLOWPOWERACTIVE = 85 Const SPI_SETPOWEROFFACTIVE = 86
Sub SetPowerInfo(Optional ByVal PowerOffActive As Variant, _ Optional ByVal PowerOffTimeout As Variant, Optional ByVal LowPowerActive As _ Variant, Optional ByVal LowPowerTimeout As Variant) If Not IsMissing(PowerOffActive) Then SystemParametersInfo SPI_SETPOWEROFFACTIVE, CBool(PowerOffActive) And 1, _ ByVal 0&, 0 End If If Not IsMissing(PowerOffTimeout) Then SystemParametersInfo SPI_SETPOWEROFFTIMEOUT, PowerOffTimeout, ByVal 0&, _ 0 End If If Not IsMissing(LowPowerActive) Then SystemParametersInfo SPI_SETLOWPOWERACTIVE, CBool(LowPowerActive) And 1, _ ByVal 0&, 0 End If If Not IsMissing(LowPowerTimeout) Then SystemParametersInfo SPI_SETLOWPOWERTIMEOUT, LowPowerTimeout, ByVal 0&, _ 0 End If End Sub |