CreateProcess()函数

调用原理

当调用CreateProcess()函数时,系统所做的工作:

  1. 系统创建一个进程内核对象,初始使用计数为1;(进程内核对象并不代表进程本身,而是操作系统用来管理这个进程的一个数据结构)
  2. 系统为新进程创建一个虚拟地址空间,并且将可执行文件的代码及数据加载到进程的地址空间;
  3. 系统为新进程创建一个主线程内核对象,使用计数为1;(线程内核对象是操作系统用来管理线程的数据结构)

注释:内核对象

头文件

#include 

CreateProcess()函数原型

BOOL CreateProcess(
LPCTSTR lpApplicationName, //可执行程序名
LPTSTR lpCommandLine, //命令行字符串,可以为NULL
LPSECURITY_ATTRIBUTES lpProcessAttributes, //新进程对象的安全属性
LPSECURITY_ATTRIBUTES lpThreadAttributes, //新进程对应的线程安全属性
BOOL blnheritHandles, //指定父进程的对象句柄能否被子进程继承
DWORD dwCreationFlags, //指定创建进程的附加标记,即指定新进程的特性
LPVOID lpEnvironment, //指定新进程使用的环境,NULL表示同父进程的环境
LPCTSTR lpCurrentDirection, //指定子进程当前路径,NULL表示同父进程相同
LPSTARTUPINFO lpStartupInfo

你可能感兴趣的:(c语言,操作系统)