程序如下Private Const SPI_GETPOWEROFFTIMEOUT = 80
Private Const SPI_GETPOWEROFFACTIVE = 84
Private Const SPI_GETSCREENSAVEACTIVE = 16
Private Const SPI_GETSCREENSAVETIMEOUT = 14
Private Const SPI_GETSCREENREADER = 70
Private Declare Function SystemParametersInfo Lib "user32" Alias _
    "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, _
     ByVal lpvParam As Long, ByVal fuWinIni As Long) As LongPrivate Declare Function GetLastError Lib "kernel32" () As Long
Private Sub Command3_Click()
dim t as Long   '<-关于这个变量,查资料得知应是一个整数,long 和 integer都试过
Dim rtn As Long
rtn = SystemParametersInfo(SPI_GETSCREENSAVETIMEOUT, 0&, t, 0)
MsgBox GetLastError & "=" & t
End Sub每次GetLastError 返回值都是998,t里面没有值
但是用SPI_SETSCREENSAVETIMEOUT可以设置屏保启动时间..真是奇怪了,哪位高手能解答,小弟在此先谢谢了...