用API取外部超级列表框信息
系统结构:子程序_获取列表框信息,DLL_取结构数据尺寸,DLL_打开进程_,DLL_发送消息_,DLL_关闭内核对象_,DLL_取进程线程标识符_,DLL_寻找顶级窗口_,DLL_寻找子窗口_,DLL_虚拟内存区域_,Dll_写内存字节集_,Dll_读内存数据_,Dll_读内存数据1_,DLL_释放虚拟内存页_,
======窗口程序集1
| |
| |------ _按钮1_被单击
| |
| |------ 子程序_获取列表框信息
| |
| |
======调用的Dll
| |
| |---[dll]------ DLL_取结构数据尺寸
| |
| |---[dll]------ DLL_打开进程_
| |
| |---[dll]------ DLL_发送消息_
| |
| |---[dll]------ DLL_关闭内核对象_
| |
| |---[dll]------ DLL_取进程线程标识符_
| |
| |---[dll]------ DLL_寻找顶级窗口_
| |
| |---[dll]------ DLL_寻找子窗口_
| |
| |---[dll]------ DLL_虚拟内存区域_
| |
| |---[dll]------ Dll_写内存字节集_
| |
| |---[dll]------ Dll_读内存数据_
| |
| |---[dll]------ Dll_读内存数据1_
| |
| |---[dll]------ DLL_释放虚拟内存页_
调用的DLL命令:
.DLL命令 DLL_取结构数据尺寸, 整数型, , "LocalSize", 公开, 一个内存块的实际尺寸,有些API规定4字节内存对齐,所以你可能填补一个4字节对齐的大于返回值的数值,该数值大于返回值1到3,就是取不小于返回值的最小的4的整数倍。
.参数 结构数据, 列表数据结构
.DLL命令 DLL_打开进程_, 整数型, "kernel32", "OpenProcess", , 将句柄返回给过程对象
.参数 进程对象, 整数型, , dwDesiredAccess
.参数 继承句柄, 整数型, , bInheritHandle
.参数 进程标识符, 整数型, , dwProcessId
.DLL命令 DLL_发送消息_, 整数型, "user32", "SendMessageA", , , 调用一个窗口的窗口函数,将一条消息发给那个窗口。除非消息处理完毕,否则该函数不会返回。SendMessageBynum, ; SendMessageByString是该函数的“类型安全”声明形式 由具体的消息决定
.参数 窗口句柄, 整数型, , 要接收消息的那个窗口的句柄
.参数 信息值, 整数型, , 消息的标识符
.参数 参数一, 整数型, , 具体取决于消息
.参数 参数二, 整数型, , 具体取决于消息;
.DLL命令 DLL_关闭内核对象_, 整数型, "kernel32", "CloseHandle", , 关闭一个内核对象。其中包括文件、文件映射、进程、线程、安全和同步对象等。涉及文件处理时,这个函数通常与vb的close命令相似。应尽可能的使用close,因为它支持vb的差错控制。注意这个函数使用的文件句柄与vb的文件编号是完全不同的 非零表示成功,零表示失败。会设置GetLastError
.参数 对象句柄, 整数型, , 欲关闭的一个对象的句柄;
.DLL命令 DLL_取进程线程标识符_, 整数型, "user32.dll", "GetWindowThreadProcessId", , GetWindowThreadProcessId,获取与指定窗口关联在一起的一个线程和进程标识符
.参数 窗口句柄, 整数型, , hwnd,指定窗口句柄
.参数 进程标识符, 整数型, 传址, lpdwProcessId,指定一个变量,用于装载拥有那个窗口的一个进程的标识符
.DLL命令 DLL_寻找顶级窗口_, 整数型, "user32.dll", "FindWindowA", , FindWindow,寻找窗口列表中第一个符合指定条件的顶级窗口
.参数 窗口类名, 文本型, , lpClassName,参见相关帮助
.参数 窗口文本, 文本型, , lpWindowName,参见相关帮助
.DLL命令 DLL_寻找子窗口_, 整数型, "user32", "FindWindowExA", , 在窗口列表中寻找与指定条件相符的第一个子窗口 找到的窗口的句柄。如未找到相符窗口,则返回零。会设置GetLastError
.参数 窗口句柄1, 整数型, , 在其中查找子的父窗口。如设为零,表示使用桌面窗口(通常说的顶级窗口都被认为是桌面的子窗口,所以也会对它们进行查找)
.参数 窗口句柄2, 整数型, , 从这个窗口后开始查找。这样便可利用对FindWindowEx的多次调用找到符合条件的所有子窗口。如设为零,表示从第一个子窗口开始搜索
.参数 欲搜索的类名1, 文本型, , 欲搜索的类名。“”表示忽略
.参数 欲搜索的类名2, 文本型, , 欲搜索的类名。“”表示忽略;
.DLL命令 DLL_虚拟内存区域_, 整数型, "kernel32", "VirtualAllocEx"
.参数 内存句柄, 整数型, , 申请内存所在的进程句柄
.参数 内存地址, 整数型, , 保留页面的内存地址;一般用NULL自动分配
.参数 内存大小, 整数型, , 欲分配的内存大小,字节单位;注意实际分 配的内存大小是页内存大小的整数倍
.参数 flAllocationType, 整数型
.参数 flProtect, 整数型
.DLL命令 Dll_写内存字节集_, 整数型, "kernel32.dll", "WriteProcessMemory", 公开, WriteProcessMemory写内存 失败返回0 返回值
.参数 进程的句柄, 整数型, , hProcess , 进程的句柄 使用函数 OpenProcess() 返回。
.参数 内存地址, 整数型, , lpBaseAddress,内存地址
.参数 写入数据, 列表数据结构, 传址, lpBuffer, 数据指针 本参数的类型也能是“字节”型。
.参数 数据的长度, 整数型, , nSize,长度 取字节集长度 (数据)
.参数 实际数据的长度, 整数型, , lpNumberOfBytesWritten实际写出长度 一般填写WriteProcessMemory 返回值 为0则忽略。
.DLL命令 Dll_读内存数据_, 整数型, "kernel32.dll", "ReadProcessMemory", 公开, ReadProcessMemory
.参数 进程的句柄, 整数型, , hProcess , 进程的句柄
.参数 内存地址, 整数型, , lpBaseAddress,内存地址
.参数 读入数据, 字节集, 传址, lpBuffer, 数据指针 可以为整数型
.参数 数据的长度, 整数型, , nSize,长度 取字节集长度 (数据)
.参数 实际数据的长度, 整数型, , lpNumberOfBytesWritten实际写出长度 一般填写ReadProcessMemory返回值
.DLL命令 Dll_读内存数据1_, 整数型, "kernel32.dll", "ReadProcessMemory", 公开, ReadProcessMemory
.参数 进程的句柄, 整数型, , hProcess , 进程的句柄
.参数 内存地址, 整数型, , lpBaseAddress,内存地址
.参数 读入数据, 列表数据结构, 传址, lpBuffer, 数据指针 可以为整数型
.参数 数据的长度, 整数型, , nSize,长度 取字节集长度 (数据)
.参数 实际数据的长度, 整数型, , lpNumberOfBytesWritten实际写出长度 一般填写ReadProcessMemory返回值
.DLL命令 DLL_释放虚拟内存页_, 整数型, "kernel32", "VirtualFreeEx"
.参数 进程句柄, 整数型
.参数 要释放的内存启始地址, 整数型
.参数 内存大小, 整数型
.参数 释放方式, 整数型
易语言类方法的获取以及类线程源码,GetThis,启动类线程,关闭类线程,线程_测试,其他_附加文本,取_类_函数地址,取指针内容_整数,取变量地址_整数,刷新对象数...
易语言类似于寻路算法源码,初始化数组,寻路...
易语言简简单单实现窗口靠边隐藏与子窗口吸附源码,简简单单实现窗口靠边隐藏与子窗口吸附...
易语言简单防止修改hosts达到欺骗注册源码,检测hosts是否被修改...
易语言简单的域名查询源码,简单的域名查询源码...
易语言简单方法检测最新帖子源码,简单方法检测最新帖子...
易语言窗口互相吸附源码,窗口互相吸附...
易语言程序重新运行例教源码,发送消息_...
易语言禁止最小化滑动源码,禁止最小化滑动,将消息传答窗口函数,API_CallWindowProc,API_SetWindowLong...