Handle_Pro:Thandle;
Num_Tmp:word;
Pint_Tmp:Pint;
ReadProcessMemory(Handle_Pro,Pint_Tmp,@Num_Tmp,2,T);Num_tmp读的是字符型的要怎么转换呢?
还是说读字符型的时候Num_Tmp 就不能用word型的数据?

解决方案 »

  1.   

    如果Num_tmp是一个WORD型数据,那么读回来是两个字节,如果要转换成字符型,HiByte(Num_tmp)是第一个字节,Byte(Num_tmp)是第二个字节。
      

  2.   

    汗。这也要例子啊。假设Num_tmp读回来是$6162,那么HiByte(Num_tmp)就是$61,而Byte(Num_tmp)就是$62。转换成字符:
    chr(HiByte(Num_tmp))就是字符'a' (a的ASCII码是$61)
    chr(Byte(Num_tmp))就是字符'b' (a的ASCII码是$62)
      

  3.   

    最后几个字打错了。'a'的ASCII码是$61
    'b'的ASCII码是$62
      

  4.   

    如果还有第三个字节呢?
    假设要度的数据是:有限公司 asc码有用吗
      

  5.   

    晕。既然那么长的字符串,为什么还用WORD去读?直接用字符数组不就得了。类似这样:
    Handle_Pro:Thandle;
    szBuf: array[0..255] of char;
    Pint_Tmp:Pint;
    ReadProcessMemory(Handle_Pro,Pint_Tmp,szBuf,255,T);