最简单的方法是你可以在“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可以激活进程窗口。
dim pOld as boolean
SystemParametersInfo 97, 1, pOld, 0
(别忘了程序结束时SystemParametersInfo 97, 0, pOld, 0)
这样用户按CTRL+ALT+DEL会没有反应。在win2000下可以app.TaskVisible=false,再高级一点就是把程序做成系统服务。
(但只限于98下,2000下这个函数已经没有了)
Dim regServ As Long
pid = GetCurrentProcessId()
regServ = RegisterServiceProcess(pid, RSP_SIMPLE_SERVICE)
提醒一下:我是在VB6.0 下!!并没有发现 Systemmetersinfo2、RegisterServiceProcess!!请大家继续关注!再加 10 分
首先在声明中加入:
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可以激活进程窗口。