易语言静态汇编动态调用win32的API

KERNEL32.DLL——系统服务功能。包括内存管理、任务管理和动态链接等

GDI32.DLL——图形设备接口。利用VGA与DRV之类的显示设备驱动程序完成显示文本和矩形等功能

USER32.DLL——用户接口服务。建立窗口和传送消息等

Wsock32.dll--------使用TCP/IP协议进行网络通信的DLL它所提供的API称为Socket API;

Tapi32.dll----专用于电话服务方面的API称为TAPI(Telephony API 所有的这些DLL提供的函数组成了现在所用的Win32编程环境。

静态调用MOVEwindow

  1. .版本 2
  2.  
  3. .子程序 _按钮1_被单击, , , 静态调用
  4.  
  5. API_MoveWindow (取窗口句柄 (), 0, 0, 取屏幕宽度 (), 取屏幕高度 ()40,)

API调用

  1. .版本 2
  2. .支持库 spec
  3.  
  4. .子程序 _按钮2_被单击, , , API调用
  5. .局部变量 a, 整数型
  6. .局部变量 ret, 整数型
  7. .局部变量 w
  8. .局部变量 h
  9. .局部变量 i, 整数型
  10.  
  11. a = 调用API (“user32.dll”, “MoveWindow”)
  12. ' 我们就可以使用 调用子程序
  13. w = 600
  14. h = 取屏幕高度 () - 40
  15.  
  16.  
  17. .计次循环首 (600, i)
  18.     w = w + 1
  19.     延迟 (10)
  20.     调用子程序 (a, ret, , 取窗口句柄 (), 0, 0, w, h, 真)
  21. .计次循环尾 ()

汇编调用

.版本 2

.子程序 _按钮3_被单击, , , 汇编调用
.局部变量 参数, 整数型, , "6"
.局部变量 句柄, 整数型
.局部变量 l, 整数型
.局部变量 d, 整数型
.局部变量 w, 整数型
.局部变量 h, 整数型
.局部变量 log, 逻辑型

句柄 = 取窗口句柄 ()
l = 0
d = 0
w = 取屏幕宽度 ()
h = 取屏幕高度 () - 30
log = 真
参数 [1] = 取变量数据地址_ (句柄)
参数 [2] = 取变量数据地址_ (l)
参数 [3] = 取变量数据地址_ (d)
参数 [4] = 取变量数据地址_ (w)
参数 [5] = 取变量数据地址_ (h)
参数 [6] = 取变量数据地址_ (log)
API_Asm (“user32.dll”, “MoveWindow”, 参数, )

API_Asm源码:

.版本 2

.子程序 API_Asm, 整数型
.参数 库名, 文本型, , [ebp+8]
.参数 函数, 文本型, , [ebp+12]
.参数 参数, 整数型, 可空 数组, [ebp+16]
.参数 是否为C调用, 逻辑型, 可空, [ebp+20]
.局部变量 库地址, 整数型, , , [ebp-4]
.局部变量 函数地址, 整数型, , , [ebp-8]
.局部变量 返回值, 整数型, , , [ebp-12]

连续赋值 (0, 库地址, 函数地址)

置入代码 ({ 139, 125, 8, 139, 63, 87, 51, 192, 131, 201, 255, 242, 174, 95, 139, 241, 247, 214, 100, 161, 48, 0, 0, 0, 139, 64, 12, 139, 80, 12, 141, 64, 16, 255, 48, 51, 192, 82, 139, 74, 48, 15, 182, 28, 56, 15, 182, 20, 65, 43, 218, 131, 251, 0, 116, 12, 131, 251, 32, 116, 7, 131, 251, 224, 116, 2, 117, 9, 131, 192, 1, 59, 240, 116, 15, 117, 220, 90, 139, 18, 51, 192, 91, 59, 218, 83, 116, 6, 117, 203, 90, 139, 66, 24, 137, 69, 252, 139, 93, 252, 131, 251, 0, 116, 58, 139, 67, 60, 3, 195, 139, 80, 120, 3, 211, 139, 74, 24, 139, 66, 32, 81, 81, 80, 51, 192, 131, 201, 255, 139, 125, 12, 139, 63, 242, 174, 247, 209, 88, 81, 139, 125, 12, 139, 63, 139, 52, 24, 3, 243, 243, 166, 89, 116, 14, 131, 192, 4, 94, 78, 86, 117, 232, 51, 192, 137, 69, 248, 144, 94, 89, 43, 206, 139, 66, 36, 141, 4, 72, 15, 183, 4, 24, 139, 74, 28, 141, 4, 129, 139, 4, 24, 3, 195, 137, 69, 248, 131, 236, 8, 86, 139, 117, 16, 139, 54, 139, 118, 4, 141, 78, 255, 133, 201, 124, 18, 139, 69, 16, 139, 0, 141, 68, 136, 8, 65, 255, 48, 131, 232, 4, 73, 117, 248, 255, 85, 248, 137, 69, 244, 139, 69, 20, 133, 192, 116, 9, 141, 4, 181, 0, 0, 0, 0, 3, 224 })

教程下载:


发布日期:

所属分类: 编程 标签:    


没有相关文章!