- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Windows高级编程技术 软件工程师:乐金龙 本章要点 主要介绍进程和线程的基本概念,以及在.NET框架中的支持类的使用。 纲要 进程介绍 线程介绍 进程 在Windows操作系统中,一个进程通常表示一个正在运行的应用程序。进程由线程组成,一个进程可以包含一个或多个线程。 .NET框架中使用Process类来支持进程编程,位于命名空间System.Diagnostics中,通过程序集System.dll实现。 使用Process类可以访问本地或者远程计算机上的进程,并且可以启动和终止本地系统中的进程。 在使用进程对象的属性和方法之前,需要先获取或创建Process对象实例。 可以使用【工具箱】面板的【组件】部分把Process控件添加到窗体,并通过属性窗口来设置其属性。这种情况下创建代码和属性设置代码由VS.NET自动维护,用户需要添加启动和结束进程以及获取进程属性的代码。 也可以通过代码自行创建Process对象和设置其属性。 Process类包含一些静态方法,可以使用它们来访问特定线程的属性。 进程常用属性 Id:进程的标识,可以唯一地标识一个进程,是一个整型值。 MachineName:进程所处机器的名称。 MainModule:包含进程对应的主模块(.exe或.dll)的属性,包括文件名、版本号以及文件描述等信息。 PriorityClass:进程优先级,其值在枚举类型System.Diagnostics.ProcessPriorityClass中定义,包含的优先级有: Normal,一般进程的优先级,不需要特别调度。 High,关键任务,必须马上执行。 Idle,在系统空闲时才执行。 RealTime,最高优先级。这类进程可以抢占其他进程的处理资源,可能造成系统停止响应。 AboveNormal,位于Normal和High之间。 BelowNormal,位于Normal和Idle之间。 ProcessName:获取进程的名称。 Responding:判断进程是否处于响应状态。 StartTime:获取进程的启动时间,是一个DateTime类型。 TotalProcessorTime:获取进程使用的处理器总的时间。 VirtualMemorySize:获取进程使用的虚拟内存的大小。 WorkingSet:获取进程使用的物理内存的大小。 进程常用方法 Start,启动进程。 CloseMainWindow,通过向进程的主窗口发送关闭消息来结束进程,返回一个表示是否成功的Boolean值。这个方法以一种比较和气的方式来结束进程,使进程有机会保存文件等。它只能用于具有图形用户界面的应用程序。 Kill,强制退出,进程所分配的资源和使用数据将丢失。要结束没有图形用户界面的程序只能使用这个方法。 不能使用Kill和CloseMainWindow方法结束远程机器上的进程,只能产看它们的信息。 Refresh,刷新进程对象中保存的相关属性信息。 Close,释放进程对象占用的所有资源。 WaitForExit,等待相应的进程结束。使用这个方法时还可以指定等待的时间(以毫秒为单位)。 WaitForInputIdle,等待进程进入空闲状态,也可以指定等待时间。 Process类中的静态方法:可以使用这些方法来执行获取系统中当前运行的所有进程、特定进程和启动进程等操作。 GetProcess:列举本地系统中的当前正在运行的所有进程,并且创建一个Process对象数组返回它们。还可以使用这个方法列举远程计算机上运行的进程,这时要在方法参数中指定远程计算机的名称。参数为“.”,表示本地计算机。 GerCurrentProcess:获取本地计算机上当前活动的进程并返回一个Process对象。 GetProcessById:获取本地或远程计算机上指定标识符Id的进程。 GetProcessedByName:获取本地或远程计算机上指定名称的进程并在一个Process对象数组中返回它们。通常进程名称为进程对应的可执行文件的名称(不包括扩展名)。 Start:启动一个新进程,返回新进程的Process对象。在这个方法的参数中,可以指定将要运行的可执行文件的名称,也可以指定将要打开的有效对象的名称。 线程 线程是处理器进行调度的基本单位。一个应用程序至少要包含一个线程,这个线程叫做主线程。 与线程相关的类在命名空间System.Threading中定义,通过程序集mscorlib.dll来实现。 用Thread类来表示线程,可以通过这个类来创建线程并控制它的执行。 创建线程实例时,需要指定该对象所对应的线程将要执行的方法。这个线程方法的指定通过委托ThreadStart来进行,这个委托定义为: Public delegate void Thread
您可能关注的文档
最近下载
- 2025云南红河州州属事业单位考试调动21人笔试备考题库及答案解析.docx VIP
- 2025云南红河州州属事业单位考试调动21人考试备考题库及答案解析.docx VIP
- [现代武器(国防教育系列].ppt VIP
- 2025云南红河州州属事业单位考试调动21人备考练习题库及答案解析.docx VIP
- 教学菜——川菜完整版全套PPT电子课件教案.pptx
- Unit 7 A Day to Remember 单元检测 人教版七年级英语下册.docx
- 中国现代武器发展历程.pptx VIP
- 青少版新概念英语2A-unit3PPT.ppt VIP
- 菜鸟驿站施工方案.docx VIP
- 2025年未来武器技术的前沿探索.pptx VIP
文档评论(0)