隐藏一个程式的运行最简单的方法是将窗体的Visible设为False。但是只要用Ctrl Alt Del将程式列表呼出就完全露馅了。那么怎样完全隐藏正在运行的程式呢?其实很简单。
我们知道,后台运行的程式有很多。但是只有一部分出现在程式列表里,多数系统程式并不出现。实际上,被注册成为“服务器”的进程不会出现在程式列表里。
所用API函数:热点网络
Private Declare Function GetCurrentProcessId Lib "kernel32" Alias "GetCurrentProcessId" () As Long
这个函数能够获得当前进程一个唯一的标识符。
Private Declare Function RegisterServiceProcess Lib "kernel32" (ByVal dwProcessID As Long, ByVal dwType As Long) As Long
这个函数能够将进程 ID 号为dwProcessID的进程注册或取消注册为“服务器”。
所用常量:
这里的常量也就是dwType的值。
Const RSP_SIMPLE_SERVICE = 1
注册为“服务器”。
Const RSP_UNREGISTER_SERVICE = 0
取消“服务器”注册。
程式:
Public Sub MakeMeService()
Dim pid As Long, reserv As Long
'获取当前进程ID
pid = GetCurrentProcessId()
'注册为服务器
regserv = RegisterServiceProcess(pid, RSP_SIMPLE_SERVICE)
End Sub
Public Sub UnMakeMeService()
Dim pid As Long, reserv As Long
'获取当前进程ID
pid = GetCurrentProcessId()
'取消服务器注册 热点网络
regserv = RegisterServiceProcess(pid, RSP_UNREGISTER_SERVICE)
End Sub
但是用这种方法也不能确保程式运行时不被查到,如用 程式猎手 就能够查出来。