不是Winnt\system32\*.scr,是那个文件所对应的名称,
然后可以设置屏幕保护.
然后可以设置屏幕保护.
解决方案 »
- vb2010安装不上,“应用程序错误报告”不能安装!
- VB 图片框 无法创建AutoRedraw对象
- WideCharToMultiByte 中的参数问题
- 求救! 如何在Image中取DataGrid数据表格中图片记录的字段
- Winsock的DataArrival问题!
- 那里可以下载水晶报表V9的日文版?
- VB6.0
- 还是有关发票打印的,上个贴子已经给过分了,这次还请多多帮忙,谢谢
- 在VB的菜单中,如何加载图标?
- netcaptor7.0的注册码?我现在在将就着用msn,ie真的太让人讨厌了,比msn还让人讨厌
- Me.PrintForm打印的资料,是不是没有办法定义纸边距?
- “Cell”, 提升中国ERP软件竞争力(Cell指Cell组件/插件,国内最早、最完美的报表控件)
要更换屏幕保护,首先得做好一个屏幕保护(scr文件),本例以 工程1.scr 这个文件为例。
由于windows是把屏幕保护文件存放在system下,但记录屏幕保护文件位置的文件却是windows目
录下的system.ini,所以,首先需要找出系统的windows和system目录的确切安装位置。因此,
可以分如下几步进行: 1、找到windows和system目录的安装位置 2、把屏幕保护文件复制到system目录下 3、在system.ini中的[boot]中写入: SCRNSAVE.EXE=C:\WINDOWS\SYSTEM\工程1.SCR 4、告诉系统切换屏幕保护。 下面的例子成功地改变了屏幕保护,全部源代码如下: '得到windows目录 Private Declare Function GetWindowsDirectory Lib "kernel32"
Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As
Long '修改system.ini
Private Declare Function WritePrivateProfileString Lib "kernel32"
Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal
lpKeyName As Any, ByVal lpString As Any, ByVal lplFileName As String) As Long '得到system目录
Private Declare Function GetSystemDirectory Lib "kernel32"
Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As
Long '设置屏幕保护
Private Const SPI_SETSCREENSAVETIMEOUT = 15
Private Const SPI_SETSCREENSAVEACTIVE = 17
Private Const SPIF_UPDATEINIFILE = &H1
Private Const SPIF_SENDWININICHANGE = &H2 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 Long '启动屏幕保护
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal
hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Private Const WM_SYSCOMMAND = &H112
Private Const SC_SCREENSAVE = &HF140 Private Sub Form_Load()
'得到system目录
Dim sSave As String, Ret As Long
sSave = Space(255)
Ret = GetSystemDirectory(sSave, 255)
sSave = Left$(sSave, Ret)
'把屏保复制到系统目录
FileCopy App.Path & "\工程1.scr", sSave & "\工程1.SCR"
'得到windows目录
Dim Path As String, strSave As String
strSave = String(250, Chr$(0))
Path = Left$(strSave, GetWindowsDirectory(strSave, Len(strSave)))
'修改system.ini
Dim r As Long
Dim iniPath As String
iniPath$ = Path + "\system.ini"
r = WritePrivateProfileString("boot", "SCRNSAVE.EXE", sSave & "\工程1.SCR",
iniPath)
'设置时间间隔为1分钟=60秒
lRet = SystemParametersInfo(SPI_SETSCREENSAVETIMEOUT, 60, ByVal 0&,
SPIF_UPDATEINIFILE + SPIF_SENDWININICHANGE)
'设置屏幕保护
retval = SystemParametersInfo(SPI_SETSCREENSAVEACTIVE, True, 0, 0)
'启动屏幕保护
Dim result As Long
result = SendMessage(Form1.hwnd, WM_SYSCOMMAND, SC_SCREENSAVE, 0&)
End Sub