Versions: VB4/32 VB5 VB6 Level: Intermediate
Author: vb2themax.com">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
文章来源于领测软件测试网 https://www.ltesting.net/
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073









