1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| Public Function ReadString(lStartAddress As Long, lEndAddress As Long) As String
Dim lBytesRead As Long
Dim sData As String
Dim lLength As Long
Dim lLastErr As Long
On Error GoTo ReadString_Error
lLength = lEndAddress - lStartAddress
If lLength > 20000 Or lLength < 1 Then Exit Function
sData = Space(lLength)
If g_lhProcess <> 0 Then
If ReadProcessMemory(g_lhProcess, lStartAddress, ByVal sData, lLength, lBytesRead) Then
ReadString = sData
Else
lLastErr = Err.LastDllError
Err.Raise lLastErr, , ApiErrorText(lLastErr)
End If
End If
On Error GoTo 0
Exit Function
ReadString_Error:
RaiseError Err, "Function modUtil.ReadString"
End Function |
Partager