我的办法是欺骗 Windows ,让它以为现在运行的是屏幕保护程序,就不响应键盘操作。
用 SystemParametersInfo2,uAction用SPI_SCREENSAVERRUNNING,试试看。

解决方案 »

  1.   

    在Win98下是不能使程序不在CTRL+ALT+DEL中出现,除非屏蔽CTRL+ALT+DEL,即使用API
      dim pOld as boolean
      SystemParametersInfo 97, 1, pOld, 0
    (别忘了程序结束时SystemParametersInfo 97, 0, pOld, 0)
    这样用户按CTRL+ALT+DEL会没有反应。在win2000下可以app.TaskVisible=false,再高级一点就是把程序做成系统服务。
      

  2.   

    Sorry,在98下可以隐藏程序。
    (但只限于98下,2000下这个函数已经没有了)
    Dim regServ As Long
    pid = GetCurrentProcessId()
    regServ = RegisterServiceProcess(pid, RSP_SIMPLE_SERVICE)
      

  3.   

    我刚才都试过,还是不行!
    提醒一下:我是在VB6.0 下!!并没有发现 Systemmetersinfo2、RegisterServiceProcess!!请大家继续关注!再加 10 分
      

  4.   

    这些函数在 VB 自带的 win32api.txt 中并没有(微软经常这么干),只有自己去找了。
      

  5.   

    最简单的方法是你可以在“Private Sub Form_Load()”下加入以下语句:App.TaskVisible = False复杂一点的:
    首先在声明中加入:
    Public Declare Function GetCurrentProcessId Lib "kernel32" () As Long
    Public Declare Function GetCurrentProcess Lib "kernel32" () As Long
    Public Declare Function RegisterServiceProcess Lib "kernel32" (ByVal dwProcessID As Long, ByVal dwType As Long) As Long
    Public Const RSP_SIMPLE_SERVICE = 1
    Public Const RSP_UNREGISTER_SERVICE = 0
    之后程序中加入:
    Public Sub RemoveProgramFromList()
      Dim lngProcessID As Long
      Dim lngReturn As Long  lngProcessID = GetCurrentProcessId()
      lngReturn = RegisterServiceProcess(pid, RSP_SIMPLE_SERVICE)
      End Sub         
    就可以了。或者干脆禁止这三个功能键:
    在声明中加入:
    Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" _
       (ByVal uAction As Long, ByVal uParam As Long, lpvParam As Any, ByVal fuWinIni As Long) As LongPrivate Const SPI_SCREENSAVERRUNNING = 97
    在Form Load中加入:
      Dim Ret  As Long
      Dim pOld As Boolean
      Ret = SystemParametersInfo(SPI_SCREENSAVERRUNNING, True, pOld, 0)
    在Form Unload中加入:
      Dim Ret  As Long
      Dim pOld As Boolean
      Ret = SystemParametersInfo(SPI_SCREENSAVERRUNNING, False, pOld, 0)
    这样就可以保证程序在运行时无法用CTRL+ALT+DEL来激活进程窗口,也可以保证程序关闭后CRL+ALT+DEL可以激活进程窗口。