程序說明:
這個程序比較簡單,只使用了GetCurrentProcessId 和 RegisterServiceProcess 兩個函數就可以達到。
這種方法只能在 Windows98 中運行,在 Windows2000中是不行的
程序代碼:
Module1
Public Declare Function GetCurrentProcessId 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 MakeMeService()
Dim pid As Long
Dim reserv As Long
pid = GetCurrentProcessId() '取的當前運行的程序Id
regserv = RegisterServiceProcess(pid, RSP_SIMPLE_SERVICE)
對當前的程序傳入 RSP_SIMPLE_SERVICE 消息,使此程序
從任務列表中隱藏
End Sub
'恢復隱藏
Public Sub UnMakeMeService()
Dim pid As Long
Dim reserv As Long
pid = GetCurrentProcessId()
regserv = RegisterServiceProcess(pid, RSP_UNREGISTER_SERVICE)
原理同上
End Sub
Private Sub Command1_Click()
Call MakeMeService
End Sub
Private Sub Command2_Click()
Call UnMakeMeService
End Sub
Private Sub Form_Load()
Form1.Left = Screen.Width / 2 - Form1.Width / 2
Form1.Top = Screen.Height / 2 - Form1.Height / 2
End Sub