加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

[VB.NET]谁能把这个VB6的程序变成VB.NET?

发布时间:2020-12-16 23:39:21 所属栏目:大数据 来源:网络整理
导读:谁能把这个VB6的程序变成VB.NET? -----------------VB6.0------------------------ Public Declare Function ReadProcessMemory Lib kernel32.dll (ByVal hProcess As Long,ByVal lpBaseAddress As Long,ByRef lpBuffer As Any,ByVal nSize As Long,ByRef lp
谁能把这个VB6的程序变成VB.NET? -----------------VB6.0------------------------ Public Declare Function ReadProcessMemory Lib kernel32.dll (ByVal hProcess As Long,ByVal lpBaseAddress As Long,ByRef lpBuffer As Any,ByVal nSize As Long,ByRef lpNumberOfBytesWritten As Long) As Long Dim h As Long ReadProcessMemory hProcess,ByVal &HAEBD90,h,4,0& 人血 ReadProcessMemory hProcess,ByVal h + &H20,0& ReadProcessMemory hProcess,ByVal h + &H250,0& Label1.Caption = h =================VB.NET======================== Public Declare Function ReadProcessMemory Lib kernel32 (ByVal hProcess As Integer,ByVal lpBaseAddress As IntPtr,ByVal lpBuffer As IntPtr,ByVal nSize As Integer,ByRef lpNumberOfBytesWritten As Integer) As Integer Dim h As Long ReadProcessMemory(hProcess,&HAEBD90,0) 人血 ReadProcessMemory(hProcess,h + 20,0) ReadProcessMemory(hProcess,h + 250,0) Label1.Text = h VB6.0的程序可以运行,而且得到的数据也是正确的,但是VB.NET的那个程序可以运行但是得到的数据却是“空白”,请大家帮忙修改一下啊 只剩这60分了。。。大家将就一下。。。 在线等,随时测试 __________________________________________________________________________ ByVal lpBaseAddress As IntPtr,ByVal lpBuffer As IntPtr 怎么是IntPtr?! __________________________________________________________________________ Public Declare Function ReadProcessMemory Lib kernel32 Alias ReadProcessMemory (ByVal hProcess As Integer,ByVal lpBaseAddress As Object,ByRef lpBuffer As Object,lpNumberOfBytesWritten As Integer) As Integer 看原声明,lpBaseAddressObject好象也应该用ByRef,问题不大 Object用string应该也可以! __________________________________________________________________________ Public Declare Function ReadProcessMemory Lib kernel32 (ByVal hProcess As Integer,ByVal lpBaseAddress As Integer,ByVal lpBuffer As Integer,ByRef lpNumberOfBytesWritten As Integer) As Integer Public Declare Function ReadProcessMemory Lib kernel32 (ByVal hProcess As Integer,ByVal lpBuffer() As Byte,ByRef lpNumberOfBytesWritten As Integer) As Integer 我用这两个也还是一样的结果啊。。。 __________________________________________________________________________ VB的long可存放的是从 -2147483648 到 2147483648,把一个比2147483648还大数从内存中读出来,然后再用一个新的数写回去该怎么做?,比如:2148550880 顶楼 -----------------VB6.0------------------------ Dim h As Long ReadProcessMemory hProcess,0& Label1.Caption = h 这个h的值就是2148550880,Label1.Caption最终应当显示2148550880才对,可是我却无法正常显示,如果VB6.0可以把这个问题解决,我也就不必再强制转换为VB.NET了 single和double放的话会出现 E- ,但是我要的是全部数字的那种 如果有办法把single和double的 E- 格式变成全部都是数字的也行 __________________________________________________________________________ unsingle long h//把h定义为无符号长整型就可以了。 __________________________________________________________________________

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读