如何禁止用户切换到其他软件
编号:QA002419
建立日期: 2000年1月11日 最后修改日期:2000年1月18日
所属类别:
李俊:
编程工具: visualbasic6.0
操作系统: win98
我想自己设计一个窗口,使得一旦该窗口弹出其他的软件的窗口就不能响应。比如我的窗口弹出后,客户连资源管理器,WORD,EXCEL等其他的所有的应用程序都不能运行。应该如何实现呀!
回答:
在Windows 95/98下还可以使用SystemParametersInfo(SPI_SCREENSAVERRUNNING)使Windows认为你的程序是个屏幕保护程序,从而禁止程序切换。
具体做法是:
1、设置窗体的BorderStyle为None,WindowState为最大化。这样是为了遮盖住其他软件。
2、使用下面的函数定义:
Private Const SPI_SCREENSAVERRUNNING = 97&
Private Declare Function SystemParametersInfo Lib "User32" _
Alias "SystemParametersInfoA" _
(ByVal uAction As Long, _
ByVal uParam As Long, _
lpvParam As Any, _
ByVal fuWinIni As Long) As Long
禁止程序切换时,使用下面的代码:
Dim lngRet As Long
Dim blnOld As Boolean
lngRet = SystemParametersInfo(SPI_SCREENSAVERRUNNING, True, _
blnOld, _
0&)
允许切换时,使用:
Dim lngRet As Long
Dim blnOld As Boolean
lngRet = SystemParametersInfo(SPI_SCREENSAVERRUNNING, False, _
blnOld, _
0&)
这个方法只适用于Win9x。如果要在Windows NT/2000下实现,请参考QA001623 "如何在winnt中屏蔽ctrl+alt+del等组合键"。
此问题由李海回答。
| |
|
|
| |
|
|