这个工具主要应用API来获取系统进程信息, 端口信息, 服务信息以及启动项信息. 在NT(NT里好像不支持ToolHelp32)/2000/XP下可以使用. 它可以帮助你查看是不是有不熟悉的进程或服务正在运行. 之前并没有解决Excel崩溃的问题,十分抱歉. 今日突然有了灵感, 之前是不管tcpExTable实际有多少table, 都是按101个Table来MoveMemory. 所有有时会导致Excel崩溃, 现在改成分成一个一个Table复制就没有问题了. 我自己试了大约100次,没有崩溃现象. 请大家帮忙看看。
9ny0VBtw.zip
(110.7 KB, 下载次数: 364)
[task manager 进程管理器] 这一页里列出正在运行的所有的进程. 可以获得进程的使用内存大小,文件完整地址,版本信息,公司信息,载入的所有模块,线程数,优先级别,启动时间,从那个程序启动的信息. 可以停止指定的进程. 这里有个用户权限的问题, 当你的权限不够时, 很多系统进程的详细信息看不到. 即使你有管理员权限, 像csrss这些程序的信息也是看不到的. 有些资料说用打开到SE_DEBUG_NAME的特权可以获取csrss的进程句柄, 在Excel里试了不可行,不知道用VB编译成执行文件会怎么样.
有很多种方法获取进程信息, 这里只用了ToolHelp32和PSAPI一起来获取尽可能多的信息. CPU Usage是不准确的, 可以使用performance counters的方法来获取实时的CPU Usage. 考虑到这个没有Timer的功能,就没有改这个CPU Usage的方法了.
[TCP view TCP监控器] 这个工具里其它的代码基本上在网上找到类似的例子. 但这个TCP View的功能我用Google没有找到过VB里的实例. 所以我参考Mark Russinovich的netstatp的C语言源代码写出这个VB的代码. 可以列出所有TCP和UDP端口的状态以及这些端口对应的程序. 一般的木马程序运行后会一直处于侦听状态,这样你可以用这个工具查看是不是有不熟悉的程序正处于侦听状态.
关于Mark Russinovich, 他以前有个公司叫sysinternals(www.sysinternals.com). 发布过很多Windows的应用程序. 去年被微软收编. 他的网站上有很多有用的工具. 如非常强大的Process Explorer(十分惭愧我也用同样的名字),还有ProcessMonitor(可以用来监控文件和注册表的改变,这样你可以监控某个程序或安装程序添加和改变了那些文件和注册表). 很有帮助的.
[Service 服务] 这一页可以查看所有运行和没有运行的服务. 包括服务的详细信息(状态,类型,路径,描述等). 可以停止和开始指定的服务. 可以改变服务的启动状态.
停止服务时,因为有些服务是同其它关联的,所以会失败. 虽然可以实现像在系统管理工具里一样跳出一个窗口列出所有关联的服务,然后提示是否关闭所有这些服务,觉得太麻烦在这里就没有加这个功能了.
这里同样有权限的问题. 如果你不是管理员的话,就不可以更改服务的启动类型(出现OpenSCManager错误).
[Startup 启动项] 这一页列出所有开机启动项, 有些是保存在注册表里的,有些是保存在Documents and Settings里的. 你可以把前面的检查框取消掉,然后按"应用"键来删除你取消的启动项. 这一页还提供了退出当前系统的功能.
[此贴子已经被作者于2007-2-26 18:02:17编辑过] |