如何隐藏程序的运行
隐藏一个程序的运行最简单的方法是将窗体的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
不过用这种方法也不能保证程序运行时不被查到,如用 程序猎手 就可以查出来。