ReadProcessMemory不起作用

时间:2016-02-10 00:31:59

标签: c# memory

我对C#中的ReadProcessMemory方法有疑问。我实现它时它工作正常。之后,我关闭了Visual Studio 15,然后当我重新打开VS时,它无效。

它始终返回0并且不会更改缓冲区值。我通过编辑缓冲区中的一位来测试它。 ReadProcessMemory没有更改缓冲区。 我阅读了很多关于这种方法的文章,但我还没有找到解决方案。

[DllImport("kernel32.dll")]
public static extern Int32 ReadProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, [In, Out] byte[] buffer, UInt32 size, out IntPtr lpNumberOfBytesRead);

public static byte[] ReadBytes(IntPtr Handle, Int64 Address, uint BytesToRead)
{
    IntPtr bytesRead;
    byte[] buffer = new byte[BytesToRead];
    ReadProcessMemory(Handle, new IntPtr(Address), buffer, BytesToRead, out bytesRead);
    return buffer;
}

0 个答案:

没有答案