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#中是新的,那么你从错误的位置开始。