中华网校

系列网站: 中华网校 | www.网校.com | 3D模型 | 中华网校教育

电脑网校 | 业界新闻 | 职业网校 | 网校宝典 | 软件下载 | 网校论坛 | 网校联盟

电脑入门 | 网页设计 | 网络编程 | 图形图象 | 三维空间 | 多媒体 | 程序语言 | 操作系统 | 系统专题 | 办公应用 | 软件宝典 | 硬件天下 | 

 

您的位置:首页 >> 程序语言 >> VB/VB.NET >> 新闻正文

用VB编屏幕保护快速设定程序  

作者:_  时间:2001-12-31  来自:中华网校  责任编辑:  阅读次数:

大凡用PC看VCD的同仁都有这样的体会:正看在兴头上,屏幕却突然漆黑一片棗原来是屏幕保护兴风作浪。想不要屏幕保护,又舍不得它的绚丽多彩,每次看VCD之前去控制面板设定一番,又觉得Windows的设定程序启动烦琐,并且由于读取大量无用(与取消屏保无关)的数据,十分费神。在下深受其害,终于某天忍受不住,拿起武器,制作了一个有关屏幕保护的VB程序,在此供大家参考。大家“录用”本程序后,在桌面上建立一个快捷方式,以后每次看VCD之前,顺手启动之,就可免受屏保程序之苦了。


首先,咱们了解一下屏保信息存放在哪儿。Windows下的屏幕保护程序具体是哪个程序的信息存放在Systen.ini文件中。虽然大部分的System.ini在Windows 95上转移至注册表中,但本项却仍然在老的ini文件。但奇怪的是有关屏保启动的间隔时间(也就是设定系统中多长时间没有任何诸如键盘击键、鼠标移动等输入事件发生就启动屏保)却存于系统注册表里,位置为“HKCU\Control Panel\DeskTop\ScreenSaveTimeOut”,字符串值,以秒为单位,如时间为3分,则此值为 180。修改以上值可以重新设定屏保。


其次,要了解如何处理以上值。我们当然不想手动去调节以上值,我们应当用计算机语言作为我们的手段,CFAN的理想语言应当是VB(声明:不是替微软做广告)。存取system.ini可以使用VB的Line Input语句;访问注册表可以利用系统提供的有关COM对象的功能,具体见下面的程序。


好了,现在可以动手了


建立工程

启动VB,选择 Standar EXE。然后保存工程名为Ssaver,接着添加两个Label控件、两个TextBox控件、四个CommButton控件、一个CommonDialog控件。Text1用于显示接受屏保程序名,Text2 用于显示当前屏保的间隔时间。两个Label控件分别提示TextBox控件的作用。四个CommonButton的Caption分别为“确认“、“取消屏保并退出”、“取消”、“浏览… ”,从标题大家应该可以看出各自的作用,在此不做赘述。CommonDialog的作用是浏览系统中的屏保程序,并选择加入至Text1中。


设定控件属性,添加代码

除了以上所述的Caption属性外。还应当对CommonDialog的属性进行设定:DialogTitle设为“浏览屏幕保护程序”, Filter设为“*.src|*.src|*.exe|*.exe”(因为Windows95中任何程序都可设置成屏幕保护程序),将InitDir设为“c:\windows\system”。


现在来加入有关代码。双击Form1,在Form_Load()中加入以下代码,以初始化相关控件:


Dim TextLine As String


Dim i As Long


Open "c:\windows\system.ini" For Input As #1 ‘打开System.ini


Do While Not EOF(1) 利用循环搜索System.ini中内容


Line Input #1, TextLine 读出一行


i = InStr(1, TextLine, "SCRNSAVE.EXE=", 1)


If i > 0 Then Text1.Text = Right(TextLine, Len(TextLine) - Len("SCRNSAVE.EXE=")) ‘I >0,表明找到”SCRNSAVE.EXE=”


Exit Do ‘退出循环搜索


End If


Loop


Close #1 关闭文件


Dim WSHShell As Object


Set WSHShell = CreateObject("WScript.Shell") ‘建立一个COM对象,利用此COM对象的接口来读写注册表,WScript.Shell是Windows98自带的解释VBScript语言的COM对象。


Text2.Text = WSHShell.RegRead("HKCU\Control Panel\DeskTop\ScreenSaveTimeOut") ‘利用WScript.Shell对象提供的方法来读取相应注册表项,并显示在Text2中


双击Command1,在Command1_Click()中输入代码:


WritePrivateProfileString "boot", "SCRNSAVE.EXE", Text1.Text, "c:\windows\system.ini" ‘利用WinAPI来修改System.ini


Dim WSHShell As Object


Set WSHShell = CreateObject("WScript.Shell")


WSHShell.RegWrite "HKCU\Control Panel\DeskTop\ScreenSaveTimeOut", Text2.Text


End


要注意用到了WinAPI,故需要启动Api Text Vier,将WritePrivateProfileString的声明拷至VB中,并在前加入Private关键字。


双击Command2,在Command2_Click()中加入:


WritePrivateProfileString "boot", "SCRNSAVE.EXE", "", "c:\windows\system.ini" ‘取消屏保即将屏保项设定为空串


End ‘退出


双击Command3,在Command3_Click()中加入:End


双击Command4,在Command3_Click()中加入:


CommonDialog1.ShowOpen ‘显示对话框,寻找屏保程序


If Not IsEmpty(CommonDialog1.filename) Then


Text1.Text = CommonDialog1.filename‘显示查找并选定的屏保程序名


End If


运行并编译程序

首先,运行此程序,通过后编译为Exe文件。现在可以为此程序在桌面上建立一个快捷方式。以后,每次启动VCD播放软件前,启动该快捷方式,可以进行时间的设定乃至取消屏保。现在,安心看VCD吧。


如果觉得这样还有些让人担心,因为有时总忘记先启动屏保设定在开启VCD播放,可以编写一个批处理,且给批处理在桌面上建立一个快捷方式,并删除桌面上的诸如VCD播放之类的快捷方式棗现在应该不必担心记性不好了。此快捷方式应当设定“退出时关闭“。批处理内容可以这样:


d:\vb\ssaver.exe ‘自编的屏保设定程序


c:\sthvcd\sthvcd.exe ‘超级解霸


好了,关掉VB去看VCD吧,从此不必遭受紧要关头被打断的痛苦了!


相关文章 最新文章 推荐文章
RC4经典加密算法VB版本代码
VB 6 问答
优化VB程序
vb开发人员操作规程
用VB编屏幕保护快速设定程序
VB的座标系统
VB:开发CAI软件的小经验
用VB编写网络寻呼机

  中华网校依法保护知识产权,如果我们的文章有涉及或侵犯您的有关权益,请即时与我们 联系, 注明网址及文章,我们会即时处理或删除,感谢您的合作!中华网校email
  中华网校由广州市中六电脑城智锐计算机专业培训学院及中华网校技术中心提供网络支持未经本站许可任何个人网站、书刊报社一律不得私自复制,转载本站内容!

关于中华网校 | 广告服务 | 版权声明 | 投稿指南 | 网站合作 | 友情链接 | 网站地图

 

版权所有 中华网校 & 智锐网校 1999-2004 COPYRIGHT (C) 1999-2004 www.ZhiRui.com ALL RIGHTS RESERVED

 
/**/