获取本机QQ状态查看在线还是离线

易语言 2020-07-17 18:54:10

获取本机QQ状态查看在线还是离线

关键整数 = AnsiToUnicode (“Msg2.0.db”)
关键字 = 到字节集 (关键整数)
首字节 = 取字节集左边 (关键字, 1)
长度 = 取字节集长度 (关键字)
操作句柄 = OpenProcess (#PROCESS_VM_READ + #PROCESS_QUERY_INFORMATION, 0, 进程ID)
内存块长度 = 28
.判断循环首 (VirtualQueryEx (操作句柄, 内存地址, 内存块信息, 内存块长度) ≠ 0)
.如果真 (内存块信息.Type = #MEM_PRIVATE 且 内存块信息.Protect = #PAGE_READWRITE)
数据缓冲区 = 取空白字节集 (内存块信息.RegionSize)
读取结果 = ReadProcessMemory (操作句柄, 内存地址, 数据缓冲区, 内存块信息.RegionSize, 0)
.如果 (读取结果 ≠ 0)
开始地址 = 寻找字节集 (数据缓冲区, 关键字, )
.如果真 (开始地址 ≠ -1)
QQ号码 = UnicodeToAnsi (读内存字节集 (进程ID, 内存地址 + 开始地址 - 1 - 28, 40))
跳出循环 ()
.如果真结束

.否则

.如果结束

.如果真结束
内存地址 = 内存地址 + 内存块信息.RegionSize
.判断循环尾 ()
CloseHandle (操作句柄)
QQ号码 = 取文本右边 (QQ号码, 取文本长度 (QQ号码) - 寻找文本 (QQ号码, “\”, , 假))
QQ号码 = 取文本左边 (QQ号码, 寻找文本 (QQ号码, “\”, , 假) - 1)