热情软件屋

 

如何禁止用户切换到其他软件


编号: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等组合键"

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio