Windows进程编程.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Windows进程编程

第二章 Windows程序运行原理 电子科技大学软件学院--杨尚明 主要内容 2.1 进程的概念 2.2 进程控制  2.3 进程间通信 进程(Process) 概念; 进程创建 CreateProcess 函数的使用; 系统进程获取与终止方法; 使用管程实现进程通信。  进程概念 进程是正在运行的程序的实例。 每个运行项目都对应一个进程,每个进程至少包含一个线程,它从main()函数开始执行,直到执行return语句返回,主线程结束,该进程也被从内存中卸载。 进程由如下几个部分组成: 与程序相关联的可执行代码的映像; 内存空间(通常是虚拟内存中的一些区域),其中保存可执行代码、进程的特定数据、用于记录活动例程和其他事件的调用栈、用于保存实时产生的中间计算结果的堆(heap); 分配给进程的资源的操作系统描述符(比如文件句柄)以及其他数据资源; 安全属性: 进程的所有者和权限; 处理器的状态: 寄存器的内容、物理内存地址等。 进程的状态 创建子进程API函数 CreateProcess函数,其原型为: BOOL CreateProcess( LPCTSTR lpApplicationName, LPTSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, // 见p152(初步了解) LPVOID lpEnvironment, LPCTSTR lpCurrentDirectory, LPSTARTURINFO lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation ); CreateProcess() 的功能是建立并执行child process? PROCESS_INFORMATION结构 创建子进程API函数变量含义 系统进程的获取 使用ToolHelp函数可以获得当前系统正在运行的进程: 用CreateToolHelp32Snapshot获得当前系统内执行进程快照; 使用Process32First函数和Process32Next函数遍历快照中记录列表; CreateToolHelp32Snapshot还可以获取进程使用的堆、模块及线程的列表、堆等对象; 使用PROCESSENTRY32 结构获取相关属性。 系统进程的获取 CreateToolHelp32Snapshot函数: HANDLE WINAPI CreateToolhelp32Snapshot( DWORD dwFlage, // 指定快照中须返回的对象 DWORD the32ProcessID // 要获取的进程ID ); dwFlage的取值情况: TH32CS_SNAPHELPLIST // 指定进程的堆 TH32CS_SNAPMODULE // 指定进程的模块 TH32CS_SNAPPROCESS // 系统范围内的进程 TH32CS_SNAPTHREAD // 系统范围内的线程 保护进程 保护进程不被其它进程非法关闭 HOOK(9.3节 HOOK API)掉系统对有关ToolHelp和Process Status函数的调用 HOOK掉其它进程对TerminateProcess 函数的调用 Assignment 1.分析Windows多任务下cpu支持的不同模式的意义,并说明对象句柄在其中的作用。 2.编写程序创建两个以上子进程,用进程快照函数列出创建进程的基本信息,使用PROCESSENTRY32 结构尽可能列出你的电脑当前运行的进程、线程详细信息。 3*. 分析对比Unix系统与Windows系统的各自创建和管理进程相关函数的特征。 * * 第二章  Windows 进程编程 ? “进程”(Process)和“线程”(Thread)是操作系统控制多任务的两个重要概念。 早期的Windows 3.x只能依靠应用程序之间的协同来实现协同式多任务,而Windows 9x以

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档