算术运算导致溢出错误

Arithmetic operation resulted in an overflow Error

      IntPtr(MemInfo.BaseAddress)

    End While
End Sub

错误是由这一行的+ mem1.RegionSize部分引起的:

这是我在 VB.net 中的内存扫描器的一部分 我已经阅读了有关将 ToInt32 更改为 ToInt64 的内容,但仍然没有解决该问题。

这不是向 IntPtr 添加偏移量的正确方法。它提供了 Add 方法来做到这一点。我假设您已经将 MEMORY_BASIC_INFORMATION 结构的 BaseAddress 字段编组为 IntPtr.

所以您应该将代码更改为

Addy = IntPtr.Add(MemInfo.BaseAddress, MemInfo.RegionSize);