Private Sub Timer8_Timer()
hwnd1 = FindWindow(vbNullString, "海之乐章 【" & d & "】")
GetWindowThreadProcessId hwnd1, pid
pHandle = OpenProcess(PROCESS_ALL_ACCESS, False, pid)
ReadProcessMemory pHandle,&H316040B , 1150419196, 4, 0&
CloseHandle pHandle
Timer7.Interval = 1000
End Sub问下如果读取内存&H316040B,如果它的值等于1150419196,msgbox“成功”否则msgbox“失败"。。 下面是我写的 谁指点下哪错了?if &H316040B=1150419196 then
msgbox“成功”
else
msgbox“失败"
end if
hwnd1 = FindWindow(vbNullString, "海之乐章 【" & d & "】")
GetWindowThreadProcessId hwnd1, pid
pHandle = OpenProcess(PROCESS_ALL_ACCESS, False, pid)
ReadProcessMemory pHandle,&H316040B , 1150419196, 4, 0&
CloseHandle pHandle
Timer7.Interval = 1000
End Sub问下如果读取内存&H316040B,如果它的值等于1150419196,msgbox“成功”否则msgbox“失败"。。 下面是我写的 谁指点下哪错了?if &H316040B=1150419196 then
msgbox“成功”
else
msgbox“失败"
end if
__in HANDLE hProcess,
__in LPCVOID lpBaseAddress,
__out LPVOID lpBuffer,
__in SIZE_T nSize,
__out SIZE_T* lpNumberOfBytesRead
); 这是这个API 的用法 第二个参数你就应该传递要读取的地址,第三个参数你应传递一个缓冲区,而不是一个立即数!,第四个参数是缓冲的大小。这个API 如成功会将读取的值放入缓冲区中。然后用这个缓冲区的值与 1150419196 比较才对。
if value = 1150419196 then
msgbox“成功”
else
msgbox“失败"
end if
if &H316040B=1150419196 then 相当于if 3=8 then
是不是
dim Value as longPrivate Sub Timer8_Timer()
hwnd1 = FindWindow(vbNullString, "海之乐章 【" & d & "】")
GetWindowThreadProcessId hwnd1, pid
pHandle = OpenProcess(PROCESS_ALL_ACCESS, False, pid)
ReadProcessMemory pHandle, &H316040B, Value, 4, 0&
CloseHandle pHandle
If Value = 1127812301 Then
MsgBox "成功"
Else
MsgBox "失败"
End If
End Sub
我把iF后面换成Value = Label3.Caption 可是调试出现了 实时错误13 类型不般配
不知道哪错了
把Label3.caption改称val(Label3.caption)