Login | Register   
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: VB4/32,VB5,VB6
Expertise: Intermediate
Jun 17, 2000

StringFromAddr - Read a string at a given address

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
Francesco Balena
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap