zoukankan      html  css  js  c++  java
  • 第四章 进程(2)进程的实例句柄

     

    1、进程的实例句柄

    加载到进程地址空间的每个可执行文件或DLL文件均被赋予一个独一无二的实例句柄

    可执行文件的实例作为( w ) Wi n M a i n的第一个参数h i n s t E x e来传递。对于加载资源的函数调用来说,通常都需要该句柄的值。

    H M O D U L EH I N S TA N C E是完全相同的对象

    1)可执行文件的映像加载到的基地址是由链接程序决定的。Visual C++链接程序使用的默认基地址是0 x 0 0 4 0 0 0 0 0 可以使用链接程序中的/BASE:address链接程序开关改变基地址。

    如果要让加载的可执行文件的基地址小于0 x 0 0 4 0 0 0 0 0,那么Windows 98加载程序必须将可执行文件重新加载到另一个地址。

    如果开发的应用程序将要同时在 Windows 98Windows 2000上运行,应该确保应用程序的基地址是0 x 0 0 4 0 0 0 0 0或者大于这个地址。

    (2)GetModuleHandle函数返回一个可执行文件或DLL文件加载到进程的地址空间时所用的句柄/基地址

    HMODULE GetModuleHandle(PCTSTR pszModule)

    pszModule 为指定的可执行或DLL文件的名字。如果找到该可执行文件或DLL则返回其基地址否则返回NULL

    A:如果为pszModule传递的是NULL则返回的进程的地址空间中可执行文件的基地址,而不是DLL的基地址。

    B: 它只查看调用进程的地址空间。如果调用进程不使用常用的对话框函数,那么调用它传递“ComDlg32”后,就会返回 NULL,尽管 ComDlg32. dll可能加载到了其他进程的地址空间。

  • 相关阅读:
    区块链到底是什么?
    Focusky:把每个PPT都变成3D动画
    c# 嵌入资源文件
    向ArcGIS的ToolBarControl中添加任意的windows控件的方法
    C# 获得MP4时长
    arcmap Command
    C# PPT 查找替换
    C# 操作PPt,去掉文本框的边框
    arcgis 按面积分割, 按比例分割面积,按等份批量面积分割工具
    电动自行车如何过马路?规定:下车推行!
  • 原文地址:https://www.cnblogs.com/dyufei/p/2574010.html
Copyright © 2011-2022 走看看