byte[] 区分生死 = new byte[36];
 win32API.API.ReadProcessMemory(openprocess, 五级基址 + 0x16,ser , 4, 0);
//内存读出的 if (ser= [0])


意思是:如果这个内存读出来的 ser在 byte 里面是等于0
也就是如 
if (ser= [0])
就可以条件出来了
我知道这个if写法是错误的,但是我不会写,希望大哥帮忙下小弟..3Q

解决方案 »

  1.   

    ser是什么数据类型?
    要看ReadProcessMemory方法的定义来决定。
    如果是int那就是ser==0
    是IntPtr,那么是ser==IntPtr.Zero
      

  2.   

    byte[] ser = new byte[];
    是这样的
    就是这个byte[]里面一定要参数,不只要要写多少,
    因为是byte[],所以IF也不知道要这么写了,
    不知道我说的够不够清楚
      

  3.   

    ser 是 byte[] 数组,数组不能直接跟 int 去对比.因为int无法转换为byte[]
    另外,不明白楼主的意思.
    是否是要判断ser byte数组中所有的成员都为0?         
       byte[] ser = new byte[] { 1, 2, 3 };
                bool IsZeroByteArray = true;
                foreach (int i in ser)
                {
                    if (i == 0)
                    {
                        continue;
                    }
                    else
                    {
                        IsZeroByteArray = false;
                        break;
                    }
                }
                if (IsZeroByteArray) //全0數組
                {
                    //do something
                }
      

  4.   

    不明白楼主意思。判断ser的长度为0,还是ser数组的所有元素都为0?
      

  5.   

    win32API.API.ReadProcessMemory(openprocess, 五级基址 + 0x16,ser , 4, 0);byte[] ser = new byte[];
    是这样的
    就是这个byte[]里面一定要参数,不只要要写多少,你这样:byte[] ser;
    win32API.API.ReadProcessMemory(openprocess, 五级基址 + 0x16,ser , 4, 0);
    这样调用后,是否读取数据到ser中了,如果读取成功了,要判断ser数组的内容,不是很简单,遍历:
    foreach(byte abyte in ser)
    {
       //...
    }