RegisterServiceProcess函数的作用是注册/取消一个进程(Processor)为服务器进程,在vb中的定义如下:
Private Declare Function RegisterServiceProcess Lib "kernel32" _
(ByVal ProcessID As Long, ByVal ServiceFlags As Long) _
As Long
其中参数ProcessID为进程的ID号,ServiceFlags为标志,该函数在VB中的一般应用是使程序
不会在Ctrl+Alt+Del按键弹出的任务(Task)列表窗口中出现(就象很多黑客程序那样),下面的范例是
利用RegisterServiceProcess函数在任务列表中隐藏和显示程序。
Private Declare Function RegisterServiceProcess Lib "kernel32" _
(ByVal ProcessID As Long, ByVal ServiceFlags As Long) _
As Long
Private Declare Function GetCurrentProcessId Lib "kernel32" () _
As Long
Private Sub Form_Load()
Debug.Print GetCurrentProcessId()
'将程序隐藏起来
Debug.Print RegisterServiceProcess(GetCurrentProcessId, 1)
End Sub
Private Sub Form_Unload(Cancel As Integer)
'恢复隐藏的程序
RegisterServiceProcess GetCurrentProcessId, 0 'Remove service flag
End Sub