用VB设计更换屏幕保护的程序
2018-06-17 17:15:38来源:未知 阅读 ()
要更换屏幕保护,首先得做好一个屏幕保护(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目录
PrivateDeclareFunctionGetWindowsDirectoryLib"kernel32"Alias"GetWindowsDirectoryA"(ByVallpBufferAsString,ByValnSizeAsLong)AsLong
'修改system.ini
PrivateDeclareFunctionWritePrivateProfileStringLib"kernel32"Alias"WritePrivateProfileStringA"(ByVallpApplicationNameAsString,ByVallpKeyNameAsAny,ByVallpStringAsAny,ByVallplFileNameAsString)AsLong
'得到system目录
PrivateDeclareFunctionGetSystemDirectoryLib"kernel32"Alias"GetSystemDirectoryA"(ByVallpBufferAsString,ByValnSizeAsLong)AsLong
'设置屏幕保护
PrivateConstSPI_SETSCREENSAVETIMEOUT=15
PrivateConstSPI_SETSCREENSAVEACTIVE=17
PrivateConstSPIF_UPDATEINIFILE=&H1
PrivateConstSPIF_SENDWININICHANGE=&H2
PrivateDeclareFunctionSystemParametersInfoLib"user32"Alias"SystemParametersInfoA"(ByValuActionAsLong,ByValuParamAsLong,ByVallpvParamAsLong,ByValfuWinIniAsLong)AsLong
'启动屏幕保护
PrivateDeclareFunctionSendMessageLib"user32"Alias"SendMessageA"(ByValhwndAsLong,ByValwMsgAsLong,ByValwParamAsLong,lParamAsAny)AsLong
PrivateConstWM_SYSCOMMAND=&H112
PrivateConstSC_SCREENSAVE=&HF140
PrivateSubForm_Load()
'得到system目录
DimsSaveAsString,RetAsLong
sSave=Space(255)
Ret=GetSystemDirectory(sSave,255)
sSave=Left$(sSave,Ret)
'把屏保复制到系统目录
FileCopyApp.Path&"\工程1.scr",sSave&"\工程1.SCR"
'得到windows目录
DimPathAsString,strSaveAsString
strSave=String(250,Chr$(0))
Path=Left$(strSave,GetWindowsDirectory(strSave,Len(strSave)))
'修改system.ini
DimrAsLong
DiminiPathAsString
iniPath$=Path "\system.ini"
r=WritePrivateProfileString("boot","SCRNSAVE.EXE",sSave&"\工程1.SCR",iniPath)
'设置时间间隔为1分钟=60秒
lRet=SystemParametersInfo(SPI_SETSCREENSAVETIMEOUT,60,ByVal0&,
SPIF_UPDATEINIFILE SPIF_SENDWININICHANGE)
'设置屏幕保护
retval=SystemParametersInfo(SPI_SETSCREENSAVEACTIVE,True,0,0)
'启动屏幕保护
DimresultAsLong
result=SendMessage(Form1.hwnd,WM_SYSCOMMAND,SC_SCREENSAVE,0&)
EndSub
本例在vb6.0 win95下运行通过。
->标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:如何用API定义程序热键
- 使用VB设计具有「动感」的命令图标栏 2018-06-17
- 用VB设计VCD播放器的方法与技巧 2018-06-17
- 用VisualBasic设计窗体背景花纹 2018-06-17
- 利用VB三维面板控件设计流动条 2018-06-17
- 利用VB进行多媒体程序设计初步 2018-06-17
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash