WinAPI执行外部程序和创建新进程:CreateProcess()的使用

WinAPI执行外部程序和创建新进程:CreateProcess()的使用

一、基本原理和流程

执行一个外部程序实质上可以认为就是创建一个进程

windows系统下创建一个进程意味着:

1、创建一个内核对象:内核对象是windows系统用于管理进程的一个工具,可以认为是一个数据结构。  

2、创建一个地址空间:用于存放可执行文件的代码和数据  

当调用CreateProcess()时,windows会自动创建一个进程内核对象,将进程内核对象引用计数设置为1,并将可执行文件的代码和数据加载到地址空间,然后再创建相应的主线程的内核对象,最终执行入口函数

二、CreateProcess的定义

BOOL CreateProcess 
( 
LPCTSTR lpApplicationName, 
LPTSTR lpCommandLine, 
LPSECURITY_ATTRIBUTES lpProcessAttributes,
LPSECURITY_ATTRIBUTES lpThreadAttributes, 
BOOL bInheritHandles, 
DWORD dwCreationFlags, 
LPVOID lpEnvironment, 
LPCTSTR lpCurrentDirectory, 
LPSTARTUPINFO lpStartupInfo, 
LPPROCESS_INFORMATION lpProcessInformation 
); 

三、参数详解

CreatProcess()需要若干参数来指定新进程的运行方式,但实际使用中多半参数都是用不到的,可以设置为NULL

1、lpApplicationName

这个参数用于指定可执行文件的

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值