|
本帖最后由 CNWTEPRG 于 2018-10-16 21:43 编辑
- .版本 2
- .程序集 汇编动态调用DLL, , , Win10/XP 已测试通过
- .程序集变量 Kernel32基址, 整数型
- .程序集变量 GetProcAddress函数指针, 子程序指针
- .程序集变量 LoadLibraryA函数指针, 子程序指针
- .程序集变量 空白指针, 子程序指针
- .子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码
- Kernel32基址 = 取Kernel32基址 ()
- GetProcAddress函数指针 = 取GetProcAddress函数指针 (Kernel32基址)
- LoadLibraryA函数指针 = 取Kernel32函数指针 (“LoadLibraryA”)
- .如果真 (LoadLibraryA函数指针 = 空白指针)
- 信息框 (“取LoadLibraryA函数指针失败!”, 16, , )
- 返回 (0)
- .如果真结束
- _临时子程序 () ' 在初始化代码执行完毕后调用测试代码
- 返回 (0) ' 可以根据您的需要返回任意数值
- .子程序 _临时子程序
- .局部变量 信息框指针, 子程序指针
- .局部变量 字节集, 字节集
- .局部变量 时间指针, 子程序指针
- .局部变量 信息框标题, 文本型
- .局部变量 信息框内容, 文本型
- .局部变量 索引, 整数型
- .局部变量 计数, 整数型
- .局部变量 d, 短整数型, , "8"
- 信息框指针 = 取DLL指针 (“user32”, “MessageBoxA”)
- 时间指针 = 取Kernel32函数指针 (“GetLocalTime”)
- 字节集 = 取空白字节集 (16)
- 调用指针 (时间指针, 取字节集指针 (字节集))
- 索引 = 1
- .计次循环首 (8, 计数)
- d [计数] = 取字节集数据 (字节集, #短整数型, 索引)
- .计次循环尾 ()
- 信息框内容 = “今天是” + 到文本 (d [1]) + “年” + 到文本 (d [2]) + “月” + 到文本 (d [4]) + “日 星期” + 到文本 (d [3]) + “ ” + 到文本 (d [5]) + “时” + 到文本 (d [6]) + “分” + 到文本 (d [7]) + “秒 ” + 到文本 (d [8]) + “毫秒”
- 信息框标题 = “系统时间”
- 调用指针 (信息框指针, 0, 取文本指针 (信息框内容), 取文本指针 (信息框标题), #确认钮)
- .子程序 取Kernel32基址, 整数型
- 置入代码 ({ 100, 161, 48, 0, 0, 0, 139, 64, 12, 139, 112, 28, 173, 139, 64, 8, 201, 195 })
- 返回 (0)
- .子程序 取Kernel32函数指针, 子程序指针
- .参数 函数名, 文本型, , 函数名区分大小写
- 返回 (到指针 (调用指针 (GetProcAddress函数指针, Kernel32基址, 取文本指针 (函数名))))
- .子程序 取GetProcAddress函数指针, 子程序指针
- .参数 基址, 整数型
- 置入代码 ({ 139, 69, 8, 232, 4, 0, 0, 0, 201, 194, 4, 0, 83, 81, 82, 86, 139, 216, 139, 67, 60, 3, 195, 139, 64, 120, 3, 195, 139, 80, 32, 3, 211, 51, 201, 139, 52, 138, 3, 243, 65, 128, 62, 71, 117, 245, 128, 126, 3, 80, 117, 239, 128, 126, 7, 65, 117, 233, 128, 126, 14, 0, 117, 227, 73, 139, 80, 36, 3, 211, 102, 139, 12, 74, 139, 80, 28, 3, 211, 139, 52, 138, 3, 243, 139, 198, 94, 90, 89, 91, 195 })
- 返回 (空白指针)
- .子程序 调用指针, 整数型
- .参数 指针地址, 子程序指针
- .参数 参数1, 整数型, 可空
- .参数 参数2, 整数型, 可空
- .参数 参数3, 整数型, 可空
- .参数 参数4, 整数型, 可空
- .参数 参数5, 整数型, 可空
- .参数 参数6, 整数型, 可空
- .参数 参数7, 整数型, 可空
- .参数 参数8, 整数型, 可空
- .参数 参数9, 整数型, 可空
- .参数 参数10, 整数型, 可空
- .参数 参数11, 整数型, 可空
- .参数 参数12, 整数型, 可空
- .参数 参数13, 整数型, 可空
- .参数 参数14, 整数型, 可空
- .参数 参数15, 整数型, 可空
- 置入代码 ({ 86, 190, 15, 0, 0, 0, 141, 77, 8, 141, 76, 241, 252, 139, 65, 4, 133, 192, 116, 2, 255, 49, 78, 131, 233, 8, 133, 246, 117, 239, 255, 85, 8, 94, 201, 194, 124, 0 })
- 返回 (0)
- .子程序 取文本指针, 整数型
- .参数 文本, 文本型
- 置入代码 ({ 139, 69, 8, 139, 0, 201, 194, 4, 0 })
- 返回 (0)
- .子程序 到指针, 子程序指针
- .参数 指针, 整数型
- 置入代码 ({ 139, 69, 8, 201, 194, 4, 0 })
- 返回 (空白指针)
- .子程序 取DLL指针, 子程序指针, 公开
- .参数 库名, 文本型, , 库名不区分大小写
- .参数 函数名, 文本型, , 函数名区分大小写
- 返回 (到指针 (调用指针 (GetProcAddress函数指针, 调用指针 (LoadLibraryA函数指针, 取文本指针 (库名)), 取文本指针 (函数名))))
- .子程序 取字节集指针, 整数型
- .参数 数据, 字节集
- 置入代码 ({ 139, 69, 8, 139, 0, 131, 192, 8, 201, 194, 4, 0 })
- 返回 (0)
复制代码 |
评分
-
1
查看全部评分
-
|