Windows核心开发之进程(一)
2008-11-07 23:31
183 查看
一、 进程(Process)是一个这个正在运行的程序的实例。当应用程序开始执行时,程序的可执行文件被载入内存,那么这些在内存中的可执行文件或代码就是进程。
进程包含两部分:
1、该进程的内核对象。进程被创建时,系统为其建立一个进程内核对象,系统利用进程内核对象来存放关于该进程的统计信息;
2、该进程的地址空间,可能包含所有需要的可执行模块或DLL模块的代码和数据。
由上可以看出,进程是不活泼的,它只是线程的容器。进程要完成任何功能只能靠进程内的线程去完成。
“进程”和“程序”是有区别的,进程包括一个程序实例化所需要的所有资源,而程序只是指令集合。
系统在创建新的进程时会为新进程指定一个STARTUPINFO结构,包含了父进程传给子进程的信息,可以调用函数
GetStartupInfo(lpStartupInfo)来查看这些信息。
二、创建进程
CreateProcess函数用来创建新的进程,此函数的参数都非常重要。最有用的几个:
1、lpCommandLine 传递给新进程的命令行参数;
2、bInheritHandles 指定当前调用CreateProcess的进程的可继承句柄是否被新进程继承;
3、dwCreationFlags 新进程的优先级等标志;
4、lpProcessInformation (out),新进程的ID及其主线程ID、句柄等重要信息。本文出自 “爱生活,爱拉风” 博客,请务必保留此出处http://dking94.blog.51cto.com/528254/110923
进程包含两部分:
1、该进程的内核对象。进程被创建时,系统为其建立一个进程内核对象,系统利用进程内核对象来存放关于该进程的统计信息;
2、该进程的地址空间,可能包含所有需要的可执行模块或DLL模块的代码和数据。
由上可以看出,进程是不活泼的,它只是线程的容器。进程要完成任何功能只能靠进程内的线程去完成。
“进程”和“程序”是有区别的,进程包括一个程序实例化所需要的所有资源,而程序只是指令集合。
系统在创建新的进程时会为新进程指定一个STARTUPINFO结构,包含了父进程传给子进程的信息,可以调用函数
GetStartupInfo(lpStartupInfo)来查看这些信息。
二、创建进程
CreateProcess函数用来创建新的进程,此函数的参数都非常重要。最有用的几个:
1、lpCommandLine 传递给新进程的命令行参数;
2、bInheritHandles 指定当前调用CreateProcess的进程的可继承句柄是否被新进程继承;
3、dwCreationFlags 新进程的优先级等标志;
4、lpProcessInformation (out),新进程的ID及其主线程ID、句柄等重要信息。本文出自 “爱生活,爱拉风” 博客,请务必保留此出处http://dking94.blog.51cto.com/528254/110923
相关文章推荐
- windows核心开发之进程(二)
- 基于visual c++之windows核心编程代码分析(42)windows下进程的身份切换
- 基于visual c++之windows核心编程代码分析(57)监控系统的每一个进程的创建
- windows应用开发由浅入深(五)关于进程和线程--获取当前进程信息
- 【Windows 核心编程】Windows 核心编程 -- 进程
- Windows核心编程学习六:进程优先级组和线程优先级
- Windows-核心编程-04-进程-获取进程 线程 模块(DLL)信息
- Windows Mobile/Windows CE开发技巧 —— 创建一个新进程
- windows下绑定线程(进程)到指定的CPU核心
- Windows核心编程学习五:进程的环境变量
- 基于visual c++之windows核心编程代码分析(42)windows下进程的身份切换
- 基于visual c++之windows核心编程代码分析(50)伪装进程路径
- 创建进程CreateProcess函数----windows 核心编程
- windows核心编程-获取进程当前目录
- windows核心编程-进程
- 读Windows核心编程-4-进程
- MeeGo开发进程通信核心 DBus调试工具
- Windows核心编程有感-进程
- 基于visual c++之windows核心编程代码分析(16)使用邮槽进行进程通信
- 在Windows Mobile和Wince(Windows Embedded CE)下进行Win32开发,取出当前所有运行中进程信息的方法