一、ID与句柄
1、每个进程都有一张私有的句柄表,系统有一张全局句柄表
2、进程ID
在所有进程都有意义
演示:
3、此代码打开一个软件,并打印进程ID
和句柄
#include "stdafx.h"
#include "windows.h"
//打开子进程函数
BOOL CreateProcess(PTCHAR route,PTCHAR szCommandLine)
{
//定义两个结构体
STARTUPINFO si;
PROCESS_INFORMATION pi ;
//初始化结构体
ZeroMemory(&pi,sizeof(pi));
ZeroMemory(&si,sizeof(si));
//si结构体的cb 必须要赋值
si.cb = sizeof(si);
//创建子程序 返回成功与失败
if(!CreateProcess(
route, //打开程序的路径
szCommandLine, //命令行参数
NULL,
NULL,
FALSE,
0,
NULL,
NULL,
&si, //创建子进程的详细信息
&pi) //存储的是进程ID,线程ID,进程句柄,线程句柄
)
{//打印错误信息