首 页 ┆ 源码下载 ┆ IT学院 ┆ 字体下载 ┆ 模板下载 ┆ 源码发布 ┆ 广告合作 ┆ 网站地图 ┆ 虚拟主机 ┆ 中文域名
► 设为首页
► 加入收藏
► 联系我们
源码下载 >> ASP源码 | PHP源码 | ASP.net源码 | JSP源码 | CGI源码 | VC/C++源码 | VB源码 | Delphi源码 | Flash源码
文章学院 >> 网络编程 | 网页设计 | 图形图象 | 数据库 | 服务器 | 网络媒体 | 网络安全 | 操作系统 | 办公软件 | 软件开发 | 黑客知识
字体下载 >> 精制字体 | 非英字体 | 艺术字体 | 著名字体 | 哥特式 | 简单字体 | 手写体 | 节假日 | 图案字体 | 精度像素 | 中文字体
模板下载 >> 企业门户 | 数码网络 | 休闲娱乐 | 影视音乐 | 旅游名胜 | 文化艺术 | 电子商务 | 个性展示 | 登陆导航 | Flash模板
►►您当前的位置:源码园 → IT学院 → 软件开发 → VB编程 → 文章内容

VB.NET实现Windows进程管理器

作者:佚名  来源:网上收集  发布时间:2005-12-8 1:32:18
  我的计算机系统是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类提供了很多获取计算机进程相关信息的属性,在下面介绍的用Visual Basic .Net实现Windows进程管理器中,只需要使用Process中的ProcessName、Id、StartTime和PrivateMemorySize区区四个属性。同样Process提供了许多用以操控进程的方法,在下面介绍的程序中,调用了GetProcessById、Kill、Close、GetProcesses等方法来获取计算机进程数据和操控进程状态。Process类中的其他常用方法及其说明见下表所示:

方法说明
Close 释放与此组件关联的所有资源。
CloseMainWindow 通过向进程的主窗口发送关闭消息来关闭拥有用户界面的进程。
CreateObjRef创建一个对象,该对象包含生成用于与远程对象进行通讯的代理所需的全部相关信息。
EnterDebugMode将Process实例置于与以特殊模式运行的操作系统进程进行交互的状态。
GetCurrentProcess 获取新的Process实例并将其与当前活动的进程关联。
GetLifetimeService检索控制此实例的生存期策略的当前生存期服务对象。
GetProcessById创建新的Process实例,并将其与您指定的现有进程资源关联。
GetProcesses创建新的Process实例的数组,并将它们与现有进程资源关联。
GetProcessesByName创建新的Process实例的数组,并将它们与共享指定的进程名称的所有现有进程资源关联。
InitializeLifetimeService获取控制此实例的生存期策略的生存期服务对象。
Kill立即停止关联的进程。
LeaveDebugMode使Process实例离开允许它与以特殊模式运行的操作系统进程交互的状态。
Refresh 放弃有关关联进程的、已缓存到该进程组件内的任何信息。
Start启动进程资源并将其与Process实例关联。
WaitForExit设置等待关联进程退出的时间,并在该段时间结束前或该进程退出前,阻止当前线程执行。
WaitForInputIdle使Process实例等待关联进程进入空闲状态。

表02:Process类常用方法及其说明


[] [返回上一页] [打 印]
  • 上一篇文章:用VB设计控制上网时间程序
  • 下一篇文章:VB.NET启动并监测外部程序

  • 相关文章:
  • [组图]运用VB.net创建Web服务访问程序
  • VB.NET实现超级ptm查看器
  • [图文]VB.NET注册表编程
  • 全面剖析VB.NET(2)
  • 全面剖析VB.NET(4)
  • 全面剖析VB.NET(6)
  • 用VB.NET实现你的游戏梦想
  • VB.NET启动并监测外部程序
  • VB.NET实现Windows进程管理器
  • VB.NET开发扫描客户端服务工具
  • 消息队列在VB.NET数据库开发中的应用
  • VB.NET窗体操作技巧两则
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 源码发布
Copyright © 2003-2009 Ymyasp.Com. All Rights Reserved .
备案序号:粤ICP备07029071号