C# 最佳重载方法匹配具有一些无效参数WriteProcessMemory

C# 最佳重载方法匹配具有一些无效参数WriteProcessMemory,c#,C#,这部分代码不起作用: public void WriteNOP(int Address) { byte[] buffer = new byte[] { 0x90, 0x90 }; IntPtr zero = IntPtr.Zero; WriteProcessMemory(this.pHandel, (IntPtr) Address, buffer, (uint) buffer.Length, out zero); 错误: 与“Send_t

这部分代码不起作用:

public void WriteNOP(int Address)
    {
        byte[] buffer = new byte[] { 0x90, 0x90 };
        IntPtr zero = IntPtr.Zero;
        WriteProcessMemory(this.pHandel, (IntPtr) Address, buffer, (uint) buffer.Length, out zero);
错误:

与“Send_to_Console_CSharp.Form1.WriteProcessMemory(SYstem.IntPtr,SystemIntPtr,byte[],uint,int)”匹配的最佳重载方法具有一些无效参数

有没有关于错误原因的猜测

编辑:我删除了最后一个参数,但现在弹出一个新错误:

No overload for the 'Writeprocessmemory' method, it takes '4' arguments

仔细查看您的方法签名,如下所示,最后一个参数只是
int
类型,而不是
out int
,而您将其作为
out
参数传递给
IntPtr
类型,因为
zero
被声明为
IntPtr zero=IntPtr.zero

WriteProcessMemory(SYstem.IntPtr,SystemIntPtr, byte[], uint, int)
你的方法电话

WriteProcessMemory(this.pHandel, (IntPtr) Address, buffer, (uint) buffer.Length, out zero); 
                                                                                   <-- Here
WriteProcessMemory(this.pHandel,(IntPtr)地址,buffer,(uint)buffer.Length,out zero);

请看最后一个参数。仔细阅读错误消息。5个参数,最后一个必须是整数,而不是指针。@JohnSaunders我在C#中是新的,我不知道重载是什么,另外,命令有4个参数。如果你在C#中是新的,那么你从错误的位置开始。