下面是一段内存查找的程序,怎么判断虚理内存地址里面的数据是在电脑内存条里面还是在硬盘交换文件里面的,也就是说我想跳过硬盘交换文件的查找,要怎么做?是否能在MBI里面体现出来?高手请指点,
begin
Result := false;
equip := '';
nCount := 0;
ProcessHndle := OpenProcess(PROCESS_VM_OPERATION or PROCESS_VM_READ or PROCESS_QUERY_INFORMATION, false, ProcessID);
if ProcessHndle <= 0 then exit;
GetSystemInfo(SysInfo);
PMemoAddr := SysInfo.lpMinimumApplicationAddress;
MaxMemoAddr := DWORD(SysInfo.lpMaximumApplicationAddress); try
while true do
begin
VirtualQueryEx(ProcessHndle, PMemoAddr, MBI, SizeOf(MBI));
nSize := MBI.RegionSize;
if (MBI.State = MEM_COMMIT) then
begin
~~~~~~~~~~~~~~~~~~~~~~~`
end;
end;
begin
Result := false;
equip := '';
nCount := 0;
ProcessHndle := OpenProcess(PROCESS_VM_OPERATION or PROCESS_VM_READ or PROCESS_QUERY_INFORMATION, false, ProcessID);
if ProcessHndle <= 0 then exit;
GetSystemInfo(SysInfo);
PMemoAddr := SysInfo.lpMinimumApplicationAddress;
MaxMemoAddr := DWORD(SysInfo.lpMaximumApplicationAddress); try
while true do
begin
VirtualQueryEx(ProcessHndle, PMemoAddr, MBI, SizeOf(MBI));
nSize := MBI.RegionSize;
if (MBI.State = MEM_COMMIT) then
begin
~~~~~~~~~~~~~~~~~~~~~~~`
end;
end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货