我不懂ReadProcessMemory,但跟踪到这里后,返回值R为零,这里的参数设置检查一下.

解决方案 »

  1.   

    我想知道,你为什么不用FindwindowEx来取得计算器的显示的内容?
    'Public Function GetText(ByVal hWndNow As Long) As String '获取文本的子程序
    On Error Resume Next
    Dim bArr() As Byte, bArr2() As Byte
    hLength = SendMessage(hWndNow, WM_GETTEXTLENGTH, 0, 0)
    If hLength > 0 Then
    ReDim bArr(hLength + 1) As Byte, bArr2(hLength - 1) As Byte
    Call CopyMemory(bArr(0), hLength, 2)
    Call SendMessage(hWndNow, WM_GETTEXT, hLength + 1, bArr(0))
    Call CopyMemory(bArr2(0), bArr(0), hLength)
    GetText = StrConv(bArr2, vbUnicode)
    Else
    GetText = ""
    End If
    End Function
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''hwnd = FindWindow(vbNullString, "计算器")
    thwnd=FindWindowEx(hwnd,0,"EDIT",vbnullstring)
    text1.text=GetText(thwnd)
      

  2.   

    我这只是做个试验,我准备编写一个游戏修改器,但是不知道ReadProcessMemory怎么用,所以只能先拿计算器试试了,结果就是这样,还请高手解答......