实验一 windows进程的创建
实验学时:2
实验类型:验证
实验要求:必修
一、实验目的
本课题实习的目的是,加深对wiundows进程概念及进程管理各部分内容的理解;熟悉
windows进程管理API的使用。
二、实验要求
1. 将源程序编译、链接后形成master.exe和slave.exe文件。
2. 在命令行方式下输入……> master slave回车,将在master进程中创建slave进程,观察程序
运行的结果。
3. 自己设计一个小程序,完成在master进程中启动该程序的操作。
4. 撰写上机报告。
三、实验内容
下面程序是两个简单的控制台应用程序,第一个程序( MASTER )运行第二个程序(
SLAVE ) , 并进入睡眠。 SLAVE 程序从命令行读取MASTER程序的进程 ID(PID), 并等待
MASTER 程序终止之后,SLAVE做了一些事情之后,也结束。这些程序用到了以下几个重要
技术:
1. 使用 CreateProcess
CreateProcess 函数
⑴ 函数原型:
B O O L C r e a t e P r o c e s s ( L P C T S T R l p A p p l i c a t i o n N a m e , L P T S T R l p C o m m a n d L i n e ,
L P S E C U R I T Y _ A T T R I B U T E S l p P r o c e s s A t t r i b u t e s , L P S E C U R I T Y _ A T T R I B U T E S
l p T h r e a d A t t r i b u t e s , B O O L b I n h e r i t H a n d l e s , D W O R D d w C r e a t i o n F l a g s , L P V O I D
lpEnvironment ,
LPCTSTR lpCurrentDirectory , LPSTARTUPINFO lpStartupInfo , LPPROCESS_INFORMATION
lpProcessInformation );
⑵ 参数:
lpApplicationName :指向一个以空结尾的串,他指定了要执行的模块
lpCommandLine :指向一个以空结尾的串,该串定义了要执行的命令行。
lpProcessAttributes :指向一个 SECURITY_ATTRIBUTES 结构,该结构决定了返回的句柄是否