2011-10-01 65 views
1

有沒有辦法知道可以使用ReadProcessMemory從另一個進程讀取多少內存?
如果我嘗試讀取從特定地址太多的內存,它會返回錯誤代碼299,並將讀取的0字節。
我猜是因爲我試圖讀取超出進程的分配的緩衝區。檢查在其他進程中可以讀取多少內存

+3

請參閱http://stackoverflow.com/q/5571995/225757。總之,你想用'VirtualQueryEx'來了解存儲區,然後分別讀取它們。 –

+0

這可能不相關,但我寫了一個程序,從過程的每一個提交頁面讀取一個字節,[這個問題](http://stackoverflow.com/questions/2939599/is-it-possible-to- unpage-所有記憶功能於Windows)中包含核心算法。 –

回答

0

據我所知,唯一的辦法是試圖讀取它。 ReadProcessMemory將返回0,如果你想讀的內存塊是不是在這個過程中完全訪問,例如它的一部分未分配。

使用較小的nSize(1024或512甚至1)是一種解決方法。

相關問題