是否有某种Windows API或其他合理直接的方法来确定当前正在运行的程序是否启用了IMAGE_FILE_LARGE_ADDRESS_AWARE?我知道我可以将进程的exe文件作为文件打开,阅读其标题信息,然后将其解析到那里,但如果有更清洁的方法,我可以想知道。
要明确:我正在讨论当前正在执行的进程 - 即我想编写一个代码来检测它自己的可执行文件的这个标志(或缺少它),而不是一些完全不同的可执行文件。
答案 0 :(得分:1)
使用GlobalMemoryStatusEx
功能查询流程可用的虚拟内存量。
如果ullTotalVirtual
在32位进程中返回超过2GB,则表示已设置LARGE_ADDRESS_AWARE
标志。