另外,刚才查了一下API函数库,利用SystemParametersInfo API 也可进行读取或设置.
Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long
Private Const SPI_SETSCREENSAVETIMEOUT = 15
Private Const SPIF_SENDWININICHANGE = &H2
Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long
Private Sub Command1_Click()'立即启动屏幕保护
SystemParametersInfo SPI_SETSCREENSAVETIMEOUT, 1, 0&, SPIF_SENDWININICHANGE
End
Private Sub Command1_Click() ' get screensaver
Dim myReg As New Registry, ScreenSaveActive As String, savername As String, ScreenSaveTimeOut As String, ScreenSaverIsSecure As String, msg As String
myReg.GetKeyValue HKEY_CURRENT_USER, "Control Panel\Desktop", "ScreenSaveActive", ScreenSaveActive
myReg.GetKeyValue HKEY_CURRENT_USER, "Control Panel\Desktop", "ScreenSaverIsSecure", ScreenSaverIsSecure
myReg.GetKeyValue HKEY_CURRENT_USER, "Control Panel\Desktop", "ScreenSaveTimeOut", ScreenSaveTimeOut
myReg.GetKeyValue HKEY_CURRENT_USER, "Control Panel\Desktop", "SCRNSAVE.EXE", savername