| 关键词: 程序 注册 进程 服务器 GetCurrentProces Long RegisterServiceP SERVICE 函数 表里 |
隐藏一个程序的运行最简单的方法是将窗体的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 '获取当前进程IDpid = 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不过用这种方法也不能保证程序运行时不被查到,如用 程序猎手 就可以查出来。 |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|