要想在任务列表也将自己的程序隐藏就要借用kernel32.DLL中的RegisterServiceProcess这个函数了 vb我不大会,下面的代码你凑合着看吧
        hKernelLib = LoadLibrary("kernel32.dll"); 
        if(hKernelLib) 
          { 
           RegisterServiceProcess = (pRegFunction)GetProcAddress(hKernelLib, 
                                               "RegisterServiceProcess"); 
          if(RegisterServiceProcess) 
            RegisterServiceProcess(GetCurrentProcessId(),RSP_SIMPLE_SERVICE); 
                } 
       这段代码主要是把当前进程变为一个系统服务,从而在任务列表中把程序隐藏起来,相应的在构析代码中加入 
  if(hKernelLib) 
     { 
        if(RegisterServiceProcess) 
            RegisterServiceProcess(GetCurrentProcessId(), 
                                   RSP_UNREGISTER_SERVICE); 
        FreeLibrary(hKernelLib); 
        } 
    这样处理之后,程序就不在任务列表中出现了,但仍可用EnumWindows函数查出来。 

解决方案 »

  1.   

    只要在启动时把自己注册为服务程序就可以骗过任务管理器了,不过用windows自带的Msinfo32.exe还是可以找到程序的踪迹喔。更进一步,可以采用驱动程序和动态链接库技术,这将使查找程序的踪迹变得更加困难。
      

  2.   

     那么请问bestbestbest,如何注册呢?答对给分
      

  3.   

       在from_load中加入App.TaskVisible = False就可以了。但是只能骗过应用程序那一栏,
    进程那一栏骗不了。另外,上面两位提到的RegisterServiceProcess在NT下好像不起作用啊,在98/95下才可以的。
      

  4.   

    ' 复制以下代码到一模块中
    Public Declare Function GetCurrentProcessId Lib "kernel32" () As Long
    Public Declare Function GetCurrentProcess 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()
       regserv = RegisterServiceProcess(pid, RSP_SIMPLE_SERVICE)
    End Sub' 下面代码为恢复隐藏
    Public Sub UnMakeMeService()
       Dim pid As Long
       Dim reserv As Long
       pid = GetCurrentProcessId()
       regserv = RegisterServiceProcess(pid, _
       RSP_UNREGISTER_SERVICE)注: windows NT下没有RegisterServiceProcess函数。
      

  5.   

    另一个简单办法是去应用程序的标题。如果一个程序的主窗口没以标题,Windows95不把它放到任务管理器中。清除标题属性的最好地方是在WinMain函数里。自己改成VB程序吧。WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
    {
        try
        {
             Application->Title = "";
             Application->Initialize();
             Application->CreateForm(__classid(TForm1), &Form1);
             Application->Run();
        }
        catch (Exception &exception)
        {
             Application->ShowException(&exception);
        }
        return 0;
    }
      

  6.   

    这么着,想作一“木马”程序?建议你去问问黄鑫(冰河的开发者)他的E-mail是: [email protected],OICQ是: 1429668。 他肯定有许多更好的办法。