魔法兔子软件.docVIP

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
魔法兔子软件

B.1 概述 在制作魔法兔子之前,要了解魔法兔子应该实现的功能,然后根据每一种功能分步开发程序。通过分析,魔法兔子应该实现以下目标: 检测系统相关信息 备份、还原注册表 优化系统 清理垃圾文件 设置桌面墙纸 管理“发送到”菜单 管理进程 通过魔法兔子可以对系统中的垃圾文件进行清理以及优化系统。同时,还可以管理系统进程,魔法兔子的功能结构图如图B.1所示。 图B.1 魔法兔子功能结构图 B.2 关键技术 B.2.1 获取进程信息 对应用程序来说,进程就像一个大容器。在应用程序被运行后,就相当于将应用程序装进容器里,也可以往容器里加其他东西(例如,应用程序在运行时所需的变量数据、需要引用的DLL文件等),当应用程序被运行两次时,容器里的东西并不会被倒掉,系统会找一个新的进程容器来容纳它。 进程是由进程控制块、程序段、数据段三部分组成。一个进程可以包含若干线程(Thread),线程可以帮助应用程序同时做几件事(例如,一个线程向磁盘写入文件,另一个则接收用户的按键操作并及时做出反应,互相不干扰),在程序被运行后中,系统首先要做的就是为该程序进程建立一个默认线程,然后程序可以根据需要自行添加或删除相关的线程。 简单的说,进程就是当前运行的应用程序。线程是操作系统向其分配处理器时间的基本单位。线程可执行进程的任何一部分代码,包括当前由另一线程执行的部分。对于启动、停止、控制和监视应用程序等任务。当然也包括用户不知道,而自动运行的非法程序(它们就有可能是病毒程序)。在Windows任务管理器中可以查看当前正在运行的进程,如图B.2所示。 图B.2 Windows任务管理器 本模块使用Process 类获取计算机中所有的进程信息,Process 类是很有用的工具,使用 Process 类,可以获取正在运行的进程的列表,或者可以启动新的进程。初始化 Process 类后,可使用该类来获取有关当前运行的进程的信息。此类信息包括线程集、加载的模块(.dll 和 .exe 文件)和性能信息(如进程当前使用的内存量)。下面介绍Process类的常用属性和方法。 1.属性 Process类的常用属性及说明如表B.1所示。 表B.1 Process类的常用属性及说明 属性 说明 BasePriority 获取关联进程的基本优先级 Container 获取IContainer,它包含Component EnableRaisingEvents 获取或设置在进程终止时是否应激发Exited事件 ExitCode 获取关联进程终止时指定的值 ExitTime 获取关联进程退出的时间 Handle 返回关联进程的本机句柄 HandleCount 获取由进程打开的句柄数 HasExited 获取指示关联进程是否已终止的值 Id 获取关联进程的唯一标识符 MachineName 获取关联进程正在其上运行的计算机的名称 MainModule 获取关联进程的主模块 MainWindowTitle 获取进程的主窗口标题 Modules 获取已由关联进程加载的模块 PagedMemorySize 获取分页的内存大小 PagedMemorySize64 获取为关联的进程分配的分页内存量 PagedSystemMemorySize 获取分页的系统内存大小 PriorityClass 关联进程的总体优先级类别 PrivateMemorySize 获取专用内存大小 ProcessName 获取该进程的名称 StandardError 获取用于读取应用程序错误输出的流 StandardInput 获取用于写入应用程序输入的流 StandardOutput 获取用于读取应用程序输出的流 StartTime 关联进程启动的时间 VirtualMemorySize 进程的虚拟内存大小 WorkingSet 获取关联进程的物理内存使用情况 下面介绍Process类中比较常用的属性。 (1)ProcessName属性 ProcessName属性用于获取进程的名称。 语法: public string ProcessName { get; } 属性值:系统用以向用户标识该进程的名称。 例如,获取当前所有进程名称,代码如下: Process[] MyProcesses = Process.GetProcesses(); //获取所有进程名称数组 string[] Minfo = new string[6]; foreach (Process MyProcess in MyProcesses)

文档评论(0)

pangzilva + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档