WEB开发网
开发学院软件开发VC MFC教程(8)-- MFC的进程和线程 阅读

MFC教程(8)-- MFC的进程和线程

 2010-03-25 20:35:10 来源:WEB开发网   
核心提示:bInHeritHandles表示子进程(被创建的进程)是否可以继承父进程的句柄,可以继承的句柄有线程句柄、有名或无名管道、互斥对象、事件、信号量、映像文件、普通文件和通讯端口等;还有一些句柄不能被继承,MFC教程(8)-- MFC的进程和线程(2),如内存句柄、DLL实例句柄、GDI句柄、URER句柄等等,子进程继承

bInHeritHandles表示子进程(被创建的进程)是否可以继承父进程的句柄。可以继承的句柄有线程句柄、有名或无名管道、互斥对象、事件、信号量、映像文件、普通文件和通讯端口等;还有一些句柄不能被继承,如内存句柄、DLL实例句柄、GDI句柄、URER句柄等等。

子进程继承的句柄由父进程通过命令行方式或者进程间通讯(IPC)方式由父进程传递给它。

dwCreationFlags表示创建进程的优先级类别和进程的类型。创建进程的类型分控制台进程、调试进程等;优先级类别用来控制进程的优先级别,分Idle、Normal、High、Real_time四个类别。

lpEnviroment指向环境变量块,环境变量可以被子进程继承。

lpCurrentDirectory指向表示当前目录的字符串,当前目录可以继承。

lpStartupInfo指向StartupInfo结构,控制进程的主窗口的出现方式。

lpProcessInformation指向PROCESS_INFORMATION结构,用来存储返回的进程信息。

从其参数可以看出创建一个新的进程需要指定什么信息。

从上面的解释可以看出,一个进程包含了很多信息。若进程创建成功的话,返回一个进程信息结构类型的指针。进程信息结构如下:

typedef struct _PROCESS_INFORMATION {

HANDLE hProcess;

HANDLE hThread;

DWORD dwProcessId;

DWORD dwThreadId;

}PROCESS_INFORMATION;

进程信息结构包括进程句柄,主线程句柄,进程ID,主线程ID。

进程的终止

进程在以下情况下终止:

调用ExitProcess结束进程;

进程的主线程返回,隐含地调用ExitProcess导致进程结束;

进程的最后一个线程终止;

调用TerminateProcess终止进程。

当要结束一个GDI进程时,发送WM_QUIT消息给主窗口,当然也可以从它的任一线程调用ExitProcess。

Win32的线程

上一页  1 2 3 4 5 6 7  下一页

Tags:MFC 教程 MFC

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接