书香雅阁论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 358|回复: 0

【卸载dll功能和unload函数】

[复制链接]

384

主题

407

帖子

158万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1581369
发表于 2024-2-3 09:41:58|字数:1,279 | 显示全部楼层 |阅读模式
LV10 站长

这个一般的用户用不到,属于高级功能

一句话概括就是:使用卸载dll功能时会加载对应子程序中的unload子程序

这是否有点多次一举,但是在特殊情况下无法卸载dll
  
子程序名返回值类型公开备 注
main文本型初始化
参数名类 型参考可空数组备 注
get数据文本型   
post数据文本型   
ip文本型   
传递序号整数型   
请求序号整数型   
变量名类 型静态数组备 注
传入文本值文本型  
返回文本值文本型  
线程_启动 (&main)
子程序名返回值类型公开备 注
初始化  
判断循环首 ()
' 你的代码
判断循环尾 ()

当我请求main子程序的时候,main内部加载了一个死循环的初始化子程序,这种写法常用作监测类型的程序,这个时候卸载dll这个功能就会失效,一旦失效我们在测试dll功能的时候就需要不断地重启EWEB程序(EWEB调用了旧的dll,新的dll无法替换成功),这是非常麻烦的

目前的技术不足以结束掉dll循环的线程,因此需要借助unload子程序来销毁掉线程,后续突破了就不需要使用此方法了

下方写法中的相关代码来源于精易模块
  
窗口程序集名保 留  保 留备 注
程序集1   
变量名类 型数组备 注
初始化线程id整数型  

子程序名返回值类型公开备 注
_启动子程序整数型 请在本子程序中放置动态链接库初始化代码
返回 (0)  ' 返回值被忽略。
子程序名返回值类型公开备 注
main文本型初始化
参数名类 型参考可空数组备 注
get数据文本型   
post数据文本型   
ip文本型   
传递序号整数型   
请求序号整数型   
变量名类 型静态数组备 注
传入文本值文本型  
返回文本值文本型  
初始化线程id = 线程_启动 (&main)
子程序名返回值类型公开备 注
初始化  
判断循环首 ()
' 你的代码
判断循环尾 ()
子程序名返回值类型公开备 注
unload文本型卸载sxd.dll时执行此函数
参数名类 型参考可空数组备 注
get数据文本型   
post数据文本型   
ip文本型   
传递序号整数型   
请求序号整数型   
线程_销毁 (初始化线程id)
返回 (“1”)



点击返回: 【EWEB总览】
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|小黑屋|书香雅阁论坛 ( 湘ICP备17011672号-3 )

GMT+8, 2024-5-7 14:58 , Processed in 0.113589 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表