本人写一个小程序,需要触发性读取某一个程序的进程中的一些数据。
1、找到进程
2、获取进程的handle,
3、使用ReadProcessMemory来读取数据。
读取数据过程中,第一次触发,读取正常。
第二次触发,读取正常,
第三次以后,数据均不正常。
经过多次排查,
最后发现,是由于缓存了进程的handle,从而导致读取数据失败。
解决方案,每次在使用ReadProcessMemory读取数据时,重新获取进程handle,数据获取不再出错。
这里会发现,每次取进程handle时,结果都不一样。