码迷,mamicode.com
首页 > 其他好文 > 详细

wvc_02_进程

时间:2014-09-03 09:33:56      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:使用   strong   文件   数据   代码   sp   on   c   管理   

  进程的内容包括:

    1. 进程内核对象 ,对用户来说是进程句柄

    2. 进程运行环境: 如进程当前驱动器

  首先进程的定义是, 一个正在运行的程序的一个实例。

  进程由两部分组成:

    <1>进程内核对象,用于保存进程信息,操作系统用它来管理进程

    <2>一个地址空间,用于存放可执行文件或DLL模块的代码和数据, 以及动态分配的内存,线程的栈和堆。

  

  每个进程至少有一个线程, 当系统创建一个进程时,会自动为进程创建第一个线程,称为主线程。然后由主线程创建更多的线程。

  加载到进程地址空间的每一个可执行文件或者DLL文件都被赋予一个独一无二的实例句柄。可执行文件的实例句柄被当作WinMain函数的第一个参数 hInstance传入。 在需要加载资源的函数调用中,一般都要提供此句柄的值。

  HMODULE 和 HINSTANCE 完全是一回事, 如果某个函数的文档之处需要一个HMODULE参数,我们可以传入一个HINSTANCE,反之亦然。

  WinMain的hInstance参数的的值实际是一个内存基地址:系统将可执行文件的映像加载到进程地址空间中的这个位置。可执行文件的映像被加载到哪一个基地址,是由连接器决定的。

  可以使用 HMODULE GetModuleHandle(PCTSTR pszModule) 来返回一个句柄/基地址
pszModule是一个以0为终止的字符串,它指定在主调进程的地址空间中加载的一个可执行文件或DLL文件的名称。
若pszModule 参数为NULL, 则GetModuleHandle()将返回 主调进程的可执行文件的基地址。

  但GetModuleHandle(NULL)代码 若是在DLL中,返回值仍是可执行文件的基地址,而非DLL文件的基地址。

 

进程当前所在的驱动器和目录:

  如果不提供完整的路径名,各种windows函数会在当前驱动器的当前目录查找文件和目录。

wvc_02_进程

标签:使用   strong   文件   数据   代码   sp   on   c   管理   

原文地址:http://www.cnblogs.com/disemboltura/p/3952873.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!