欢迎来到天天文库
浏览记录
ID:57651055
大小:43.00 KB
页数:5页
时间:2020-08-30
《利用API在Windows下创建进程.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验三利用API在Windows下创建进程一、实验目的1.学习使用在Windows2000/XP中利用API创建进程的方法。二、实验内容及要求1.实验内容在Windows命令控制台下创建进程,实现进程的创建。2.实验要求l学习了解创建进程的函数CreateProcess及其特性;l熟悉实验环境,掌握相关API的使用方法;l设计测试程序,通过在命令行中加载相应的测试程序生成的命令文件,去按照命令文件中指定的程序路径打开相应的程序去执行;l提交实验报告。三、相关知识介绍 在创建一个线程时,Windows会做大量的工作
2、---创建一个新的地址空间,为进程分配资源以及创建一个基线程。 CreateProcess函数的原型如下:CreateProcess( LPCTSTRlpApplicationName, //pointertonameofexecutablemoudle LPTSTRcmdLine, //pointertocommandlinestring LPSECURITY_ATTRIBUTESlpProcessAttributes, //pointertoprocesssecurityattributes LPSECUR
3、ITY_ATTRIBUTESlpThreadAttributes, //pointertothereadsecurityattributes BOOLbInheritHandle, //handleinheritanceflag DWORDdwCreationFlag,//variouscreationflags LPVOIDlpEnviroment,//Enviromentvariable LPCTSTRlpCurrentDirectory,//Child'scurrentdirectory LPSTARTUP
4、INFOlpStartupInfo,//pointertoStartupInfo LPPROCESS_INFORMATIONlpProcessInformation //pointertoPROCESS_INFORMATION) 创建进程的函数为CreateProcess,该函数比较复杂共有十个参数。 BOOL CreateProcess( LPCTSTR lpApplicationName, // 执行程序文件名 LPTSTR lpCommandLine, // 参数行 LPSEC
5、URITY_ATTRIBUTES lpProcessAttributes, // 进程安全参数 LPSECURITY_ATTRIBUTES lpThreadAttributes, // 线程安全参数 BOOL bInheritHandles, // 继承标记 DWORD dwCreationFlags, // 创建标记 LPVOID lpEnvironment, // 环境变量 LPCTSTR lpCurrentDirectory, // 运行该子进程的初始目录
6、LPSTARTUPINFO lpStartupInfo, // 创建该子进程的相关参数 LPPROCESS_INFORMATION lpProcessInformation // 创建后用于被创建子进程的信息 ); lpApplicationName:为执行程序的文件名,如果在创建进程时要使用参数,则该参数可以为NULL。 lpCommandLine:为参数行,如果无参数可以为NULL,在有参数传递给进程时如下设置:lpApplicationName=NULL;lpCommandLine=pa
7、ra,例如lpCommandLine="c:\windowsotepad.exe c:\autoexec.bat"。 lpProcessAttributes,lpThreadAttributes:分别描述了创建的进程和线程安全属性,如果使用NULL表示使用默认的安全描述。 bInheritHandles:表示当前进程中的打开的句柄是否能够被创建的子进程所继承。 dwCreationFlags:表示创建标记,通过该标记可以设置进程的创建状态和优先级别。常用的有下面的标记: CRE
8、ATE_NEW_CONSOLE:为子进程创建一个新的控制台。 CREATE_SUSPENDED:子进程在创建时为挂起状态。 HIGH_PRIORITY_CLASS/NORMAL_PRIORITY_CLASS:高/普通优先级别。 lpEnvironment:表示子进程所使用的环境变量,如果为NULL,则表示与当前进程使用相同的环境变量。 lpCurrent
此文档下载收益归作者所有