用VB设计更换屏幕保护的程序

2016-02-19 20:15 2 1 收藏

想不想get新技能酷炫一下,今天图老师小编就跟大家分享个简单的用VB设计更换屏幕保护的程序教程,一起来看看吧!超容易上手~

【 tulaoshi.com - 编程语言 】

制作一个本企业的屏幕保护,在客户运行本企业的应用软件的时候,为客户更改屏幕保护,是个广告宣传的好办法。有很多朋友提出这个问题,现解答如下:
  要更换屏幕保护,首先得做好一个屏幕保护(scr文件),本例以工程1.scr这个文件为例。由于windows是把屏幕保护文件存放在system下,但记录屏幕保护文件位置的文件却是windows目录下的system.ini,所以,首先需要找出系统的windows和system目录的确切安装位置。因此,可以分如下几步进行:

  1、找到windows和system目录的安装位置

  2、把屏幕保护文件复制到system目录下

  3、在system.ini中的[boot]中写入:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  SCRNSAVE.EXE=C:WINDOWSSYSTEM工程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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

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下运行通过。

->

来源:https://www.tulaoshi.com/n/20160219/1623173.html

延伸阅读
在VB5.0具有面向对象的程序设计思想及可视化的编程方式,可开发出各种多媒体应用程序,颇得软件设计者青睐。笔者最近应用VB5.0编制了一程序,成功实现了“图文并茂”的屏幕效果,即:屏幕出现用户选定的一幅赏心悦目的图像,在图像下方有一行字幕缓缓地从屏幕右边向左边移动,全部文字移至左边消失后,从右边又平滑拖出字幕,字幕移动过程中既不...
一、界面设计 新建一个标准的EXE工程。在Form1窗体中放置一个定时器(Timer1)、两个文本框(Label1,Label2)、两个命令按钮(Command1,Command2)和包含7个元素的控件数组(Label3(0)Label3(6))。 二、属性设置 Label3控件数组中的所有元素皆采用相同设置。 三、代码编写 本程序的实现原理是:当用户单击...
在WINDOWS里,右下角有许多应用程序的图标。而程序本身的窗口是隐藏的,若你需要调用应用程序的窗口,则双击该图标即可。这种程序称为托盘程序。这是WINDOWS98操作系统的一大特色。使用户能够更加快捷的显示和隐藏应用程序,可以使任务栏不致于太乱。托盘程序在Visual Basic里是怎么实现的呢? 编写托盘程序主要解决两个问题: ...
使用win98的人一定知道其中有一个“计划任务"的应用程序,它能够到指定时间便开始工作。不要认为它很神秘,其实用VB来设计这样一个程序是非常容易的事,以下是一个简单的VB闹钟程序,可供各位使用VB的朋友参考,如有何不适之处,请多指点! 首先在form1上建立三个命令按钮,分别为command1(打开预启动的文件);command2(设定时间的按钮);第三个comman...
ScreenSaver.cs using System;using System.Windows.Forms; namespace ScreenSaver{ public class DotNETScreenSaver { [STAThread] static void Main(string[] args) { if (args.Length > 0) { if (args[0].ToLower().Trim().Substring(0,2) == "/c") { MessageBox.Show("This Screen Saver has no options you can set."...

经验教程

66

收藏

66
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部