1、用vb如何编程实现屏幕保护程序的设置
2、用vb如何编程的方法知道本机屏幕保护程序的设置的参数,如保护程序文件名和等待的时间以及有无密码保护等。

解决方案 »

  1.   

    VB实例教程 科学出版社 
    ISBN:7-03-007911-6
      第二章专门讲屏幕保护程序这个,我没哟光盘代码实在太多 没办法只能帮你怎么多
      

  2.   

    访问注册表,现写一个:'先引用Registry Access Functions library(RegObj.dll)]: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", 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
      

  3.   

    另外,刚才查了一下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 LongPrivate Const SPI_SETSCREENREADER = 71Private Const SPI_SETSCREENSAVEACTIVE = 17Private Const SPI_SETSCREENSAVETIMEOUT = 15Private Const SPI_GETSCREENREADER = 70Private Const SPI_GETSCREENSAVEACTIVE = 16Private Const SPI_GETSCREENSAVETIMEOUT = 14Private Const SPIF_UPDATEINIFILE = &H1Private Const SPIF_SENDWININICHANGE = &H2
      

  4.   

    狼行天下你好:按照你的指导,先引用Registry Access Functions library(RegObj.dll)],可是引用后发现没能找到你在代码中使用的方法只有下面的几个,不知为何,望指教!
    myreg.AddRootRegKey
    myreg.RegKeyFromHKey
    myreg.RegKeyFromString
    myreg.RemoteRegistry另外,关于利用SystemParametersInfo API 进行读取或设置.如何做,能否说得明白一点,最好有一个实例
    谢谢
      

  5.   

    狼行天下你好:按照你的指导,先引用Registry Access Functions library(RegObj.dll)],可是引用后发现没能找到你在代码中使用的方法只有下面的几个,不知为何,望指教!
    myreg.AddRootRegKey
    myreg.RegKeyFromHKey
    myreg.RegKeyFromString
    myreg.RemoteRegistry------------------------
    可能与版本有关。我的WINDOWSXP+VBSP6(regobj.dll),windowsme+VBSP5(regtool5.dll)都能执行。
    你也可以用别的注册表读写办法操作以上几个KEY,SUBKEY。
      

  6.   

    我用的是WINDOWS2000+VBSP6(regobj.dll),
      

  7.   

    设备所限,无法知道你的问题所在。     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
      

  8.   

    谁有WINDOWS2000+VBSP6关于1楼问题的资料,请指教。
      

  9.   

    谁有WINDOWS2000+VBSP6关于1楼问题的资料,请指教。