2011-12-31 5 views
2

/그것을 위해 내가 읽고 proccessmemory 쓰기 호출 할 필요가, ProcessMemory 선언 쓰기, 내가 구글에서 검색 및 선언을 찾을 것은 : 내가 노력하고읽기 내가 메모리 스캐너를 만들기 위해 노력하고

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

주요 기능에 넣으려고.

하지만 난 항상 컴파일러 오류가 발생합니다.

어디서 ReadProcesssMemory을 가져야합니까? 사람 후

내가이 오류를 얻을 저 (저 아래에있는 게시물을) 도와 :

오류 1 형식 또는 네임 스페이스 이름 'DllImportAttribute'을 (를) 찾을 수 없습니다를 (당신은 using 지시문 또는 어셈블리 참조가?)

+0

어떤 컴파일러 오류가 발생했는지 궁금 할 것입니다. IntPtr 유형을 사용하고 싶습니다. 줄 번호 및 세부 사항을 기재하십시오. –

+0

@ user1124295,'System.Runtime.InteropServices' 네임 스페이스를 파일의'using' 섹션에 추가했는지 확인하십시오. –

답변

4

신고서에 오류가 있습니다. ntPtr (함수의 첫 번째 인수)과 같은 유형은 없습니다.

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() 
    { 

    } 
} 
+2

운명의 오타가 다시 치솟습니다! – Oded

+3

@Oded, 여기에 너무 많은 타격을주는 오타가 아닙니다. 우리 모두는 오타를합니다. 사람들이 오류 메시지를 읽지 않으려 고하는 것이 아닙니다. 특히 컴파일되고 강력한 형식의 언어로 작성되었습니다. –

+1

글쎄, StackOverflow에서 오타를 지적하기 쉽습니다. – Oded

관련 문제