如何让屏幕保护立即运行
编号:QA000755
建立日期: 1999年4月4日 最后修改日期:2003年7月19日
所属类别:
Q
白凯华:
有没有让屏幕保护马上发作的API函数?
A回答:
549的意见:
想要调用系统屏幕保护,主要是发送一个WM_SYSCOMMAND消息即可。
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Int32, ByVal wMsg As Int32, ByVal wParam
As Int32, ByVal lParam As Int32) As Int32
Private Const HWND_BROADCAST = &HFFFF&
Private Const WM_SYSCOMMAND = &H112
Private Const SC_SCREENSAVE = &HF140&
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_SCREENSAVE, 0)
End Sub
李海的意见:
一个办法是调用SystemParametersInfo函数。如:
Const SPI_GETSCREENSAVETIMEOUT = 14
Const SPI_SETSCREENSAVETIMEOUT = 15
Const SPI_GETSCREENSAVEACTIVE = 16
Const SPI_SETSCREENSAVEACTIVE = 17
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 Sub
这里我们把等待时间设置为1秒。只要你按下按钮后等待1秒钟屏幕保护会立即运行。
另一种办法是调用屏幕保护程序并加上/s参数。
此问题由李海等回答。
附加关键字:编程, 源程序, programming, source code, Visual Basic, VB, Windows API, win32, api, windows api, gdi32, kernel。
| |
|
|
| |
|
|