编程中的进程管理

编程中的进程管理

ID:46924203

大小:490.50 KB

页数:67页

时间:2019-11-30

编程中的进程管理_第1页
编程中的进程管理_第2页
编程中的进程管理_第3页
编程中的进程管理_第4页
编程中的进程管理_第5页
资源描述:

《编程中的进程管理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Windows系统编程实用教程授课教师:职务:第7章进程编程课程描述大多数应用程序都以进程的形式运行,有时还需要在应用程序里运行或结束其他进程。本章将介绍Windows进程编程的方法。本章知识点7.1进程编程基础7.2基本进程编程7.3进程间通信7.1进程编程基础7.1.1什么是进程7.1.2进程的状态7.1.1什么是进程进程是正在运行的程序的实例。每个运行的VisualC++项目都对应一个进程,每个进程至少包含一个线程,它从main()函数开始执行,直到执行return语句返回,主线程结束,该进程也被从内存中卸载。进程由如下几个部分组成。与程序相关联的可执行代码的映像;内存空间(

2、通常是虚拟内存中的一些区域),其中保存可执行代码、进程的特定数据、用于记录活动例程和其他事件的调用栈、用于保存实时产生的中间计算结果的堆(heap)。分配给进程的资源的操作系统描述符(比如文件句柄)以及其他数据资源。安全属性,比如进程的所有者和权限。处理器的状态,比如寄存器的内容、物理内存地址等。7.1.2进程的状态7.2基本进程编程7.2.1创建进程7.2.2枚举系统进程7.2.3终止进程7.2.1创建进程在应用程序中可以调用CreateProcess()函数创建一个新进程、运行其他程序,函数原型如下:BOOLWINAPICreateProcess(__inLPCTSTRlpAp

3、plicationName,__in_outLPTSTRlpCommandLine,__inLPSECURITY_ATTRIBUTESlpProcessAttributes,__inLPSECURITY_ATTRIBUTESlpThreadAttributes,__inBOOLbInheritHandles,__inDWORDdwCreationFlags,__inLPVOIDlpEnvironment,__inLPCTSTRlpCurrentDirectory,__inLPSTARTUPINFOlpStartupInfo,__outLPPROCESS_INFORMATIONlpP

4、rocessInformation);参数说明lpApplicationName,要执行的应用程序名,可以包括结对路径和文件名,通常可以为NULL。lpCommandLine,要执行的命令行。lpProcessAttributes,新进程的安全描述符。lpThreadAttributes,指定主线程的安全描述符。如果为NULL,则使用默认的安全描述符。bInheritHandles,指示新进程是否从调用进程处继承句柄。dwCreationFlags,指定附加的、用来控制优先类和进程创建的标志。lpEnvironment,指向新进程的环境块。如果为NULL,则使用调用CreatePr

5、ocess()函数的进程的环境。【例7.1】调用CreateProcess()函数运行Windows计算器程序,并显示新进程的ID号,及其主线程的Id号,代码如下:#include"stdafx.h"#includeint_tmain(intargc,_TCHAR*argv[]){charszCommandLine[]="calc.exe";STARTUPINFOsi={sizeof(si)};PROCESS_INFORMATIONpi;si.dwFlags=STARTF_USESHOWWINDOW;//指定wShowWindow成员有效si.wShowWin

6、dow=TRUE;//显示新建进程的主窗口接上BOOLbRet=CreateProcess(NULL,//不在此指定可执行文件的文件名szCommandLine,//命令行参数NULL,//默认进程安全性NULL,//默认进程安全性FALSE,//指定当前进程内句柄不可以被子进程继承CREATE_NEW_CONSOLE,//为新进程创建一个新的控制台窗口NULL,//使用本进程的环境变量NULL,//使用本进程的驱动器和目录&si,&pi);if(bRet){//关掉不使用的句柄CloseHandle(pi.hThread);CloseHandle(pi.hProcess);pri

7、ntf("新进程的ID号:%d",pi.dwProcessId);printf("新进程的主线程ID号:%d",pi.dwThreadId);}system("pause");return0;}【例7.1】的运行结果ShellExecute()函数HINSTANCE ShellExecute(HWND hwnd,//指定显示用户界面和错误信息的窗口句柄LPCTSTR lpOperation,//对指定文件要执行的操作LPCTSTR lpFile,//要执行操作

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。