Read a string at a given address

王朝vb·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

Date: 6/17/2000

Versions: VB4/32 VB5 VB6 Level: Intermediate

Author: The VB2TheMax Team

Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (dest As _

Any, source As Any, ByVal bytes As Long)

Private Declare Function lstrlenA Lib "kernel32" (ByVal lpString As Long) As _

Long

Private Declare Function lstrlenW Lib "kernel32" (ByVal lpString As Long) As _

Long

' retrieve a string at a given address

' if LENGTH < 0 the string is considered to be null-terminated

' and the function determines its length

Function StringFromAddr(ByVal address As Long, ByVal length As Long, _

Optional ByVal isUnicode As Boolean) As String

' determine the length, if necessary

If length < 0 Then

If isUnicode Then

length = lstrlenW(address)

Else

length = lstrlenA(address)

End If

End If

' copy the characters

StringFromAddr = Space$(length)

If isUnicode Then

CopyMemory ByVal StrPtr(StringFromAddr), ByVal address, length * 2

Else

CopyMemory ByVal StringFromAddr, ByVal address, length

End If

End Function

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航