每次在网吧上网时,“网吧监控平台”总是在任务管理器的程序选项卡中是隐藏的,进程选项卡中则可以看见(WINNT系统),自己也很想做一个小软件实现这个功能。
  (1)我在用“千千静听”这个播放软件时,发现最小化后,程序在任务栏中消失,但可以操作系统托盘中图标对“千千”进行操作。这时在任务管理器的程序选项卡“千千”这个程序名就消失了,在进程中还可以看见,最大化“千千”后程序名在程序选项卡重新出现。感觉是不是“千千”使用了多线程技术,最小化时是不是卸掉了窗体,但是系统托盘图标这个线程仍然运行,最大化后重新激活窗体线程?
  (2)在WIN98中可以使用getSystemProcessID和另一个API函数来达到程序在任务管理器中隐藏的目的。但在安全性能更高的NT系统中该怎么实现只在任务管理器的程序选项卡中隐藏程序名的目的呢?
  (3)偶感觉实现WINNT中的任务管理器隐藏进程名比较困难。有天我发现有家网吧监控系统将任务管理器的进程选项卡的进程显示区域用灰色面板给覆盖掉了!大开眼界:),难道那位程序员调用了关于任务管理器的相关API函数,但是好象微软没这方面的资料提供啊。
   这是yuyu的第一帖,不知道问题描述的是否清楚,麻烦各位GGJJ看完后给点帮助,对你的回帖不甚感激!:)

解决方案 »

  1.   

    Private Sub Command1_Click()
        App.TaskVisible = False          '将任务管理器的程序选项隐藏
    End SubPrivate Sub Command2_Click()
        App.TaskVisible = True          '将任务管理器的程序选项显示
    End Sub
      

  2.   

    Private Sub Form_Resize()
        If Me.WindowState = vbMinimized Then '最小化时隐藏窗体
            Me.Hide
            '......将图标压进系统托盘
        End If
    End Sub
      

  3.   

    在WINNT下可以用程序做成系统服务或用远程注入,将程序挂在其它进程下,在任务管理器中就看不到了。
    不过这类程序用VB不好写,最好用C写。
      

  4.   

    详细:http://blog.csdn.net/yefanqiu/archive/2004/10/21/145922.aspx 屏蔽Windows98/2000/XP任务栏、win键、Ctrl+Esc、Alt+Tab、Ctrl+Alt+Del 关于这方面的文章挺多,对任务栏、win键、Ctrl+Esc、Alt+Tab的屏蔽,一般方法较为简单,最多用底层键盘钩子+DLL就能完美解决。但是针对Ctrl+Alt+Del的屏蔽,方法基本有两种,一种是采用Gina Dll技术,替换Window自带的MSGINA.DLL,这个技术不仅不易调试(很容易系统就无法进入了),并且效果很不好,按Ctrl+Alt+Del三键虽然不会出现任务管理器,但屏幕闪烁;另一种是采用DLL注入技术,在消息循环中真正屏蔽Ctrl+Alt+Del键,效果很好,不会出现第一种方法中的闪屏现象。本程序就是采用了第二种方法有效的屏蔽了Ctrl+Alt+Del。除此之外,在屏蔽任务栏时还有一个技术难点,就是当用户设置任务栏为自动隐藏时,不能很好的屏蔽任务栏(在Win2000鼠标滑到底部,任务栏还会出现),在XP下通过API函数SHAppBarMessage很有效的解决了该问题,不过同样的代码在Win2000中不起作用,MSDN有一段话说,在Win2000下无法用程序设定该设置,只能手动设置(天知道微软为何屏蔽该功能?),所以我也没有办法,用API函数keybd_event勉强解决了该问题(如果解决不好,它会提示你关闭任务栏自动隐藏功能)。此外,最大的一个改变是,我把所有的功能集成到一个只有29K的控件里,只需两个方法就可以完美搞定。下面是示例源码:'************************************************************
    '**模 块 名:frmDemo
    '**说    明:YFsoft 版权所有2004 - 2005(C)
    '**创 建 人:叶帆
    '**日    期:2004-10-21 15:47:15
    '**修 改 人:
    '**日    期:
    '**描    述:屏蔽系统键  Win98/Win2000/WinXP
    '**版    本:V1.0.0
    '************************************************************
    Option Explicit'************************************************************
    '**函 数 名:Command1_Click
    '**输    入:Index(Integer) - 0,1
    '**输    出:无
    '**功能描述:屏蔽系统键
    '**全局变量:
    '**调用模块:
    '**作    者:叶帆
    '**日    期:2004-10-21 15:47:12
    '**修 改 人:
    '**日    期:
    '**版    本:V1.0.0
    '************************************************************
    Private Sub Command1_Click(Index As Integer)
       If Index = 0 Then
          YFSysKey1.HideSysKey              '屏蔽
       Else
          YFSysKey1.ShowSysKey              '显示
       End If
    End Sub-------------------------------下载地址:http://www.bjjr.com.cn/yefan/SourceCode/YFSysKey.rar
      

  5.   

    要程序任务栏中消失简单,这样也可以:
    App.Title = ""
    至于在进程栏里消失就很难了,呵呵。
    去看看我这篇博客(第四种方法)吧:
    http://cfans.blog.163.com/article/-_i3m-rdsp-P.html
    我也菜鸟一个,不过做了一下总结,呵呵。
      

  6.   

    由于学习紧张 发帖后10天都没上网了 sorry sorry and very sorry
     
      感谢faysky2(出来混,迟早是要还嘀)大GG的帖子 我解决了问题 3Q!!!!
      也感谢回复的GGJJ!!!!!