易语言模拟拖放操作源码
系统结构:文本目录到列表,拖拽文件,ReleaseCapture,SetCapture,GetWindowThreadProcessId,OpenProcess,VirtualAllocEx,写内存_DROPFILES,写内存_文件名,VirtualFreeEx,CloseHandle,取错误信息_,取结构长度_DROPFILES,
======窗口程序集1
| |
| |------ __启动窗口_创建完毕
| |
| |------ 文本目录到列表
| |
| |------ 拖拽文件
| |
| |------ _超级列表框_文件列表_鼠标左键被按下
| |
| |------ _超级列表框_文件列表_鼠标左键被放开
| |
| |------ _超级列表框_文件列表_表项跟踪
| |
| |
======调用的Dll
| |
| |---[dll]------ ReleaseCapture
| |
| |---[dll]------ SetCapture
| |
| |---[dll]------ _取父窗口句柄
| |
| |---[dll]------ GetWindowThreadProcessId
| |
| |---[dll]------ OpenProcess
| |
| |---[dll]------ VirtualAllocEx
| |
| |---[dll]------ 写内存_DROPFILES
| |
| |---[dll]------ 写内存_文件名
| |
| |---[dll]------ VirtualFreeEx
| |
| |---[dll]------ CloseHandle
| |
| |---[dll]------ 取错误信息_
| |
| |---[dll]------ 取结构长度_DROPFILES
调用的DLL命令:
.DLL命令 ReleaseCapture, 整数型, , , , 为当前的应用程序释放鼠标捕获
.DLL命令 SetCapture, 整数型, , , , 将鼠标捕获设置到指定的窗口。在鼠标按钮按下的时候,这个窗口会为当前应用程序或整个系统接收所有鼠标输入
.参数 hwnd, 整数型, , 要接收所有鼠标输入的窗口的句柄
.DLL命令 _取父窗口句柄, 整数型, , "GetParent", , user32.dll取出指定窗口句柄的父窗口句柄
.参数 hwnd, 整数型, , 子窗口句柄
.DLL命令 GetWindowThreadProcessId, 整数型, "User32.dll", "GetWindowThreadProcessId", , 找出某个窗口的创建者(线程或进程),返回创建者的标志符。返回线程号。
.参数 hWnd, 整数型, , 被查找窗口的句柄
.参数 lpdwProcessId, 整数型, 传址, 进程号的存放地址(变量地址)。如果参数不为NULL,即提供了存放处--变量,那么本函数把进程标志拷贝到存放处,否则不动作。
.DLL命令 OpenProcess, 整数型, "Kernel32.dll ", "OpenProcess", , 打开一个已存在的进程对象,成功返回进程的句柄,失败返回0.
.参数 dwDesiredAccess, 整数型, , 渴望得到的访问权限(标志);PROCESS_VM_OPERATION(8) or PROCESS_VM_READ(16) or PROCESS_VM_WRITE(32)
.参数 bInheritHandle, 逻辑型, , 是否继承句柄
.参数 dwProcessId, 整数型, , 进程标识符
.DLL命令 VirtualAllocEx, 整数型, "Kernel32.dll", "VirtualAllocEx", , 在指定进程的虚拟空间保留或提交内存区域,成功就返回分配内存的首地址,不成功就是NULL。
.参数 hProcess, 整数型, , 申请内存所在的进程句柄
.参数 lpAddress, 整数型, , 保留页面的内存地址;一般用NULL自动分配
.参数 dwSize, 整数型, , 欲分配的内存大小,字节单位;注意实际分 配的内存大小是页内存大小的整数倍
.参数 flAllocationType, 整数型, , MEM_RESERVE or MEM_COMMIT;MEM_RESERVE:保留进程的虚拟地址空间,而不分配任何物理存储。保留页面可通过继续调用VirtualAlloc()而被占用;MEM_COMMIT:为特定的页面区域分配内存中或磁盘的页面文件中的物理存储
.参数 flProtect, 整数型, , PAGE_EXECUTE_READWRITE: 区域包含可执行代码,应用程序可以读写该区域。
.DLL命令 写内存_DROPFILES, 整数型, "Kernel32.dll", "WriteProcessMemory", , 返回非零值代表成功。
.参数 hProcess, 整数型, , 由OpenProcess返回的进程句柄,-1 = 自身进程;
.参数 lpBaseAddress, 整数型, , 要写的内存首地址,再写入之前,此函数将先检查目标地址是否可用,并能容纳待写入的数据。
.参数 lpBuffer, DROPFILES, 传址, 指向要写的数据的指针。
.参数 nSize, 整数型, , 要写入的字节数。
.参数 lpNumberOfBytesWritten, 整数型, , 实际数据的长度。
.DLL命令 写内存_文件名, 整数型, "Kernel32.dll", "WriteProcessMemory", , 返回非零值代表成功。
.参数 hProcess, 整数型, , 由OpenProcess返回的进程句柄,-1 = 自身进程;
.参数 lpBaseAddress, 整数型, , 要写的内存首地址,再写入之前,此函数将先检查目标地址是否可用,并能容纳待写入的数据。
.参数 lpBuffer, 文本型, 传址, 指向要写的数据的指针。
.参数 nSize, 整数型, , 要写入的字节数。
.参数 lpNumberOfBytesWritten, 整数型, , 实际数据的长度。
.DLL命令 VirtualFreeEx, 整数型, "Kernel32.dll", "VirtualFreeEx", , 成功返回非零,失败返回零。
.参数 hProcess, 整数型, , 目标进程的句柄
.参数 IpAddress, 整数型, , 要释放的虚拟内存空间首地址的指针;如果 dwFreeType 为 MEM_RELEASE, 则该参数必须为VirtualAllocEx的返回值
.参数 dwSize, 整数型, , 虚拟内存空间的字节数。如果 dwFreeType 为 MEM_RELEASE,则 dwSize 必须为 0 . 按 VirtualAllocEx审请时的大小全部释放。如果dwFreeType 为 MEM_DECOMMIT, 则释放从lpAddress 开始的一个或多个字节 ,即 lpAddress +dwSize。
.参数 dwFreeType, 整数型, , 释放类型;MEM_RELEASE(32768)完全回收
.DLL命令 CloseHandle, 整数型, "Kernel32.dll", "CloseHandle", , 关闭句柄,非零表示成功,零表示失败。
.参数 hObject, 整数型, , 要关闭的句柄
.DLL命令 取错误信息_, 整数型, "kernel32", "GetLastError", , ,
.DLL命令 取结构长度_DROPFILES, 整数型, "kernel32.dll", "GlobalSize", , 取数据类型结构尺寸
.参数 结构, DROPFILES, 传址
原贴 [易语言首发]PCVX小程序解密 因为 我也不懂 就看了下这个 PC小程序解密.e 发出来不知道怎么用,所以 度娘一步步找答案得到 的 自行研究捉摸了下 仅供学习参考 1.打开 PC小程序解...
易语言模块基址获取源码,模块基址获取,GetModuleBaseAddress...
易语言流程控制编译原理源码,流程控制编译原理,是否汉字,读字符,是否运算符,是否逻辑运算符,指针回溯,跳过空格,跳过注释,代码块,取程序返回值,外部接口_代码块执行,外部接口_表达式计算,表达式计算,逻辑判断,文本到逻辑,函数调用,函数_位或,函数_测试,函数_信...
易语言搜索程序隐藏代码源码,搜索程序隐藏代码,枚举子程序...
易语言打鱼学习链表源码,打鱼学习链表,入栈,出栈,清空链表,取顶数据,取索引处值,取长度,取值处索引,插入,删除,倒置,是否为空,到八,入队,出队...
易语言脚本解析类源码,脚本解析类,子程序1,QEHash,创建进入许可证_,进入许可区_,退出许可区_,删除进入许可证_,启动线程_,销毁线程_,寻找字节集_,内存_申请,内存_释放,内存_尺寸,内存_读整数,内存_写整数,内存_复制,内存_写字节集,内存_写文本,内存_读字节集,...
易语言核心算术计算解析源码,核心算术计算解析,信息框3,信息框2...
易语言获取网页和密码例程源码,获取网页和密码例程,取文档对象,取浏览器文档对象_API,注册消息_API,发送消息_API,置鼠标捕获窗口_API,取消鼠标捕获窗口_API,取窗口类名_API,取座标窗口句柄_API,取光标位置_API...
易语言置入代码调用子程序办法源码,置入代码调用子程序办法,普通写法,置入写法...