欢迎光临
我们一直在努力

用vb设计更换屏幕保护的程序_visualbasic教程

建站超值云服务器,限时71元/月

制作一个本企业的屏幕保护,在客户运行本企业的应用软件的时候,为客户更改屏幕保护,是个广告宣传的好办法。有很多朋友提出这个问题,现解答如下:
  要更换屏幕保护,首先得做好一个屏幕保护(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下运行通过。

->

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 用vb设计更换屏幕保护的程序_visualbasic教程
分享到: 更多 (0)