我运行一个程序,如何得到它的内存句柄?

解决方案 »

  1.   

    ReadProcessMemory BOOL ReadProcessMemory(
      HANDLE hProcess,  // 目标进程句柄
      LPCVOID lpBaseAddress,
                        // 读取数据的起始地址
      LPVOID lpBuffer,  // 存放数据的缓存区地址
      DWORD nSize,      // 要读取的字节数
      LPDWORD lpNumberOfBytesRead 
                        // 实际读取数存放地址
    );参数
    hProcess 
             目标进程的句柄,该句柄必须对目标进程具有PROCESS_VM_READ 的访问权限。 
    lpBaseAddress 
             从目标进程中读取数据的起始地址。 在读取数据前,系统将先检验该地址的数据是否可读,如果不可读,函数将调用失败。
    lpBuffer 
             用来接收数据的缓存区地址。
    nSize 
            从目标进程读取数据的字节数。
    lpNumberOfBytesRead 
            实际被读取数据大小的存放地址。如果被指定为NULL,那么将忽略此参数。
    返回值
            如果函数执行成功,返回值非零。