电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

实验2:Windows应用程序基础和进程控制

实验2:Windows应用程序基础和进程控制_第1页
1/15
实验2:Windows应用程序基础和进程控制_第2页
2/15
实验2:Windows应用程序基础和进程控制_第3页
3/15
实验二:Windows 进程控制 1. 实验目的 每个进程都有一个独立的受到保护的地址空间,其他进程不能访问。一个进程可以包含一个或更多的线程。进程能够在其内部创建新的、独立的线程,并且管理对象间的通信和同步。 通过对 Windows 系统编程,进一步熟悉操作系统的基本概念,较好地理解 Windows 操作系统的系统结构和编程特点。 2. 进程控制 Windows 所创建的每个进程都从调用 CreateProcess() API 函数开始,该函数的任务是在对象管理器子系统内初始化进程对象。每一进程都以调用 ExitProcess()或TerminateProcess() API 函数终止。通常应用程序的框架负责调用 ExitProcess()函数。对 C++运行库来说,这一调用发生在应用程序的main()函数返回之后,如果采用 C 运行库,则调用 WinMain()函数。 通过创建进程、观察正在运行的进程和终止进程的程序设计和调试操作,进一步熟悉操作系统的进程概念,理解 Windows 进程的生命周期。 2.1 进程控制相关的API 基本的Win32 进程管理函数是 CreateProcess,它可以创建拥有单个线程的进程。因为进程需要代码,所以有必要指定可执行程序文件名作为 CreateProcess 调用的一部分。 CreateProcess 有10 个参数支持其灵活性和强大功能。该函数并不返回一个HANDLE,而是在一个结构(在调用中指定)中返回表示进程和线程的两个句柄。 2.1.1 创建进程CreateProcess()函数 函数格式: BOOL CreateProcess(LPCTSTR lpApplicationName, LPTSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCTSTR lpCurrentDirectory, LPSTRATUPINFO lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation); 参数: (1)lpszApplicationName 和 lpCommandLine 指定了新进程将使用的可执行文件和传递给新进程的命令行字符串。 lpszCommandLine 可以设定 CreateProcess 中用于创建新进程的命令行。CreateProcess 在解析lpszCommandLine 字符串的时候,它先查看字符串中的第一个符号。如果它是一个可执行文件名且不含有扩展名,就假定它的扩展名为 EXE。CreateProcess 将按照以下顺序来搜索可执行文件: 1)含有调用进程的EXE 文件的目录; 2)调用进程的当前目录; 3)Windows 系统目录,该目录由 GetSystemDirect...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

实验2:Windows应用程序基础和进程控制

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部