Чтение / запись декларации ProcessMemory - PullRequest
2 голосов
/ 31 декабря 2011

Я пытаюсь сделать сканер памяти, для этого мне нужно вызвать процедуру чтения и записи, я искал в google и обнаружил следующее объявление:

 [DllImport("Kernel32.dll")] 
 public static extern bool ReadProcessMemory(ntPtr hProcess, 
                         IntPtr lpBaseAddress, byte[] lpBuffer, 
                         UInt32 nSize, ref UInt32 lpNumberOfBytesRead);

Я пытаюсь вставить его вФункция main, вне main.

Но я всегда получаю ошибку компилятора.

где мне его разместить, чтобы получить ReadProcesssMemory?

после того, как парень мне помог (пост подо мной) я получаю эту ошибку:

Ошибка 1 Типили не удалось найти имя пространства имен 'DllImportAttribute' (отсутствует директива using или ссылка на сборку?)

1 Ответ

4 голосов
/ 31 декабря 2011

В вашей декларации есть ошибка. Нет такого типа, как ntPtr (первый аргумент вашей функции). Возможно, вы хотите использовать тип IntPtr:

using System;
using System.Runtime.InteropServices;

class Program
{
    [DllImport("kernel32.dll")]
    public static extern bool ReadProcessMemory(
        IntPtr hProcess,
        IntPtr lpBaseAddress,
        byte[] lpBuffer,
        UInt32 nSize,
        ref UInt32 lpNumberOfBytesRead
    );

    public static void Main()
    {

    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...