VB 版 (精华区)
发信人: zxfsnow (别怕我伤心), 信区: VB
标 题: 利用VB5.0设计屏幕保护程序(2)
发信站: 哈工大紫丁香 (2000年05月31日19:37:18 星期三), 转信
发信人: esc (书剑飘零), 信区: VB
标 题: 利用VB5.0设计屏幕保护程序(2)
发信站: 虎踞龙盘东南站 (Fri Aug 20 15:59:21 1999), 转信
1、如何防止同时运行屏幕保护程序的两个实例
Visual Basic提供了一个App对象,它有一个PreInstance属性
,如果当前Visual Basic应用程序的一个实例已经运行时,便
把该属性设置为True,从而避免同时运行一个屏幕保护程序
的多个实例。
下面的代码展示App.PreInstance是如何典型地在一个屏幕
保护程序中实现的。
If App.PreInstance=True then
Unload Me
Exit Sub
End If
此外,还有一种更好的方法可以避免同时运行一个屏幕保
护程序的多个实例。使用一个通知操作系统已经有一个屏
幕保护程序被激活的Windows 95 API函数。这个函数便是
SystemParametersInfo,其声明如下:
Private Declare Function SystemParametersInfo Lib "user32" _
Alias "SystemParametersInfoA" ( _
ByVal uAction As Long, _
ByVal uParam As Long, _
ByVal lpvParam As Any, _
ByVal fuWinIni As Long _
) As Long
在窗体加载事件的开始调用一次这个函数并在窗体卸载事
件期间再调用一次。这两个调用必须成对出现并且二者必
须在屏幕保护程序的执行期间进行调用。
以下是在窗体加载事件中对该函数的调用:
x=SystemParametersInfo(17,0,ByVal 0&,0)
以下是在窗体卸载事件中对该函数的调用:
x=SystemParametersInfo(17,1,ByVal 0&,0)
--
既然要注定流浪,风又何必苦苦推难。
既然帆想要靠岸,海又何必处处阻拦。
--
以科计为本,以产业报国!
超越自我,飞跃无限!
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.235.249]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:1.793毫秒