易语言动态创建子程序源码
系统结构:参考子程序,子程序,取子程序真实地址,全局内存分配_,全局堆栈分配_,VirtualProtect,
======启动窗口
| |
| |------ __启动窗口_创建完毕
| |
| |------ _按钮1_被单击
| |
| |------ _按钮2_被单击
| |
| |------ _按钮3_被单击
| |
| |------ 参考子程序
| |
| |------ 子程序
| |
| |
======程序集1
| |
| |------ 取子程序真实地址
| |
| |
======调用的Dll
| |
| |---[dll]------ 全局内存分配_
| |
| |---[dll]------ 全局堆栈分配_
| |
| |---[dll]------ _lstrcpyn_子程序指针
| |
| |---[dll]------ _RtlMoveMemory_读字节
| |
| |---[dll]------ _RtlMoveMemory_读整数
| |
| |---[dll]------ VirtualProtect
调用的DLL命令:
.DLL命令 全局内存分配_, 整数型, "kernel32", "GlobalFree"
.参数 内存句柄, 整数型
.DLL命令 全局堆栈分配_, 整数型, "kernel32.dll", "GlobalAlloc"
.参数 标志, 整数型, , wFlags
.参数 字节, 整数型, , dwBytes
.DLL命令 _lstrcpyn_子程序指针, 整数型, "kernel32.dll", "lstrcpynA", , 取内存变量地址
.参数 lpString1, 子程序指针, 传址, 传址
.参数 lpString2, 子程序指针, 传址
.参数 iMaxLength, 整数型
.DLL命令 _RtlMoveMemory_读字节, , "kernel32.dll", "RtlMoveMemory"
.参数 Destination, 字节型, 传址
.参数 Source, 整数型
.参数 Length, 整数型
.DLL命令 _RtlMoveMemory_读整数, , "kernel32.dll", "RtlMoveMemory"
.参数 Destination, 整数型, 传址
.参数 Source, 整数型
.参数 Length, 整数型
.DLL命令 VirtualProtect, 逻辑型, , "VirtualProtect"
.参数 lpAddress, 整数型
.参数 dwSize, 整数型
.参数 flNewProtect, 整数型
.参数 lpflOldProtect, 整数型, 传址
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。