设备所限,无法知道你的问题所在。 SystemParametersInfo的用法如下 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
ISBN:7-03-007911-6
第二章专门讲屏幕保护程序这个,我没哟光盘代码实在太多 没办法只能帮你怎么多
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", savernamemsg = "savername" & vbTab & savername
msg = msg & vbCrLf & "ScreenSaveActive" & vbTab & CBool(ScreenSaveActive)
msg = msg & vbCrLf & "ScreenSaverIsSecure" & vbTab & CBool(ScreenSaverIsSecure)
msg = msg & vbCrLf & "ScreenSaveTimeOut " & vbTab & ScreenSaveTimeOut & " s"
MsgBox msg
End SubPrivate Sub Command2_Click() 'set screensaver
Dim myReg As New Registry
myReg.UpdateKey HKEY_CURRENT_USER, "Control Panel\Desktop", "ScreenSaveActive", "1"
myReg.UpdateKey HKEY_CURRENT_USER, "Control Panel\Desktop", "ScreenSaverIsSecure", "0"
myReg.UpdateKey HKEY_CURRENT_USER, "Control Panel\Desktop", "ScreenSaveTimeOut", "120"
myReg.UpdateKey HKEY_CURRENT_USER, "Control Panel\Desktop", "SCRNSAVE.EXE", "c:\WINDOWS\system32\ssbezier.scr"
MsgBox "set screensaver is ok"
End Sub
myreg.AddRootRegKey
myreg.RegKeyFromHKey
myreg.RegKeyFromString
myreg.RemoteRegistry另外,关于利用SystemParametersInfo API 进行读取或设置.如何做,能否说得明白一点,最好有一个实例
谢谢
myreg.AddRootRegKey
myreg.RegKeyFromHKey
myreg.RegKeyFromString
myreg.RemoteRegistry------------------------
可能与版本有关。我的WINDOWSXP+VBSP6(regobj.dll),windowsme+VBSP5(regtool5.dll)都能执行。
你也可以用别的注册表读写办法操作以上几个KEY,SUBKEY。
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