VB.NET实现Windows进程管理器

2016-01-29 12:06 26 1 收藏

VB.NET实现Windows进程管理器,VB.NET实现Windows进程管理器

【 tulaoshi.com - vb 】

  我的计算机系统是Windows 2000服务器版,回想当初从Win 98升级到Win 2000时,主要原因除了在Win 98下无法安装Visual Studio .Net 2002外,另外一个原因就是Win 2000自带一个我非常喜欢的可以管理进程的应用程序,通过这个管理器可以得到计算机到底运行了多少进程,在掌握那些进程属于正常进程的情况下,就可以得到计算机中那些是不正常的进程,从而判断计算机是否感染了病毒或黑客程序。可见Windows的进程管理器还是具有很高的实用价值的。其实用Visual Basic .Net来实现类似的功能应该算是比较方便的,因为在.Net FrameWork SDK中提供了可以获得计算机进程数据以及操控计算机进程相关的类库。本文的以下内容就来详细介绍在Visual Basic .Net中实现类似Windows进程管理器的具体方法。

  一.本文程序设计、调试和运行的环境:

  (1).微软公司视窗2000服务器版。

  (2).Visual Studio .Net正式版,.Net FrameWork SDK版本号3705。

  二.简介Visual Basic .Net实现Windows进程管理器时的主要类库:

  在用Visual Basic .Net实现Windows进程管理器中最重要,也是最频繁的就是Process类。Process类位于命名空间System.Diagnostics中,使用者可以提供使用它来操控计算机进程,如启动、停止、控制进程等。和得到与进程相关的属性,如线程集、加载的模块(即加载的DLL文件和EXE文件)和各种性能信息(如进程当前使用的内存量)等。其实读者只需对下面介绍的程序进行一定的修改,所实现的功能就大大强于Windows的进程管理器功能,但前提是掌握以下表01和表02中所列出的Process的常用属性、常用方法及其说明。

属性说明BasePriority获取关联进程的基本优先级。EnableRaisingEvents获取或设置在进程终止时是否应激发Exited事件。ExitCode获取关联进程终止时指定的值。ExitTime获取关联进程退出的时间。Handle返回关联进程的本机句柄。HandleCount获取由进程打开的句柄数。HasExited获取指示关联进程是否已终止的值。Id 获取关联进程的唯一标识符。MachineName获取关联进程正在其上运行的计算机的名称。MainModule获取关联进程的主模块。MainWindowHandle获取关联进程主窗口的窗口句柄。MainWindowTitle获取进程的主窗口标题。MaxWorkingSet获取或设置关联进程的允许的最大工作集大小。MinWorkingSet获取或设置关联进程的允许的最小工作集大小。Modules获取已由关联进程加载的模块。NonpagedSystemMemorySize获取分配给此进程的未分页的系统内存大小。PagedMemorySize获取分页的内存大小。PagedSystemMemorySize获取分页的系统内存大小。PeakPagedMemorySize获取峰值分页内存大小。PeakVirtualMemorySize获取峰值虚拟内存大小。PeakWorkingSet获取峰值工作集大小。PriorityBoostEnabled获取或设置一个值,该值指示主窗口拥有焦点时是否由操作系统暂时提升关联进程的优先级。PriorityClass获取或设置关联进程的总体优先级类别。PrivateMemorySize获取专用内存大小。PrivilegedProcessorTime获取此进程的特权处理器时间。ProcessName获取该进程的名称。StartTime获取关联进程启动的时间。Threads获取在关联进程中运行的一组线程。TotalProcessorTime获取此进程的总的处理器时间。UserProcessorTime获取此进程的用户处理器时间。VirtualMemorySize获取进程的虚拟内存大小。WorkingSet获取关联进程的物理内存使用情况。
表01:Process类常用属性及其说明

  可见Process类提供了很多获取

来源:https://www.tulaoshi.com/n/20160129/1484610.html

延伸阅读
标签: vb
五、公共运行时环境 迄今为止,业界对VB.NET讨论得最多的特色或许就是CLR。VB.NET运行在CLR之上,正是CLR为VB.NET带来了许多关键的新特色(包括缺点在内)。例如,CLR使得VB.NET支持跨语言的继承以及自由线程。 在VB6中,分布式VB程序要求有VB运行时库msvbvm60.dll支持,即该运行时库必须随同应用一起分发。其他许多语言,比如C++和...
标签: 电脑入门
提起Win7的游戏管理器,可以将众多的游戏集成到一个窗口中且能完整地显示每个游戏的详细信息,因此非常方便我们从中选择自己喜欢的游戏来玩。但美中不足的是,Windows7游戏管理器只支持显示微软自己开发的某些游戏(如红心大战)。 我们能否将自己平常喜欢玩的任意一个游戏添加到Win 7的游戏管理器当中呢?答案当然是肯定的。接下来,笔者就以添...
标签: vb
由CLR导致的体系上的不同不仅仅是跨语言继承、共享功能和受管理代码,它还有更深刻的意义。Visual Studio.NET的底层体系不再是COM;另外,VB.NET中所有东西都是对象,甚至连字符串也一样。由于这些原因以及其他许多原因,Microsoft改变了底层体系管理对象的方法。COM系统通过引用计数方式管理对象,每当对象被引用时,引用计数就增加。当对象...
标签: vb
七、面向Web的支持 除了Windows Forms新引擎之外,.NET还包含了一个专门为构造Web窗体设计的窗体引擎,称为Web Forms。这个引擎的目标在于让用户能够象创建传统Windows桌面应用的窗体一样方便地创建Web窗体。Web Forms是一种ASP.NET技术,通过它我们可以使用熟悉的RAD(快速程序开发)工具构造出带有执行代码的窗体。不过,窗体中的ASP.N...
标签: vb
前言 大约到2001年的第4季度,Visual Basic的下一个版本Visual Basic.NET将会正式发行。新版的Visual Basic.NET拥有许多VB开发者以前只能梦想的新功能和新特色。同时,成长和发展也意味着付出一定的代价,新的Visual Basic.NET中有许多东西需要重新学习,一些细微的变化很可能带来出乎意料的麻烦。 Microsoft .NET平台所包含的内容非...

经验教程

284

收藏

43
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部