以前用易语言取模块句柄都是等于:4194304,而不是预期的400000,感觉很郁闷。
研究多日终于发现问题所在,这是因为进制转换问题。4194304是十进制,而400000是16进制。
所以代码应该如下:
.版本 2
.程序集 窗口程序集1
.子程序 __启动窗口_创建完毕
信息框 (到文本 (进制_十到十六 (进程_取模块句柄 ())), 0, ) //精易模块
----------------------------------------------------------------------------------
万挂作坊教程:模块与线程 载入DLL.e
.版本 2
.程序集 窗口程序集1
.程序集变量 模块句柄, 整数型
.子程序 __启动窗口_创建完毕
模块注册 ()
.子程序 _按钮1_被单击
模块句柄 = 载入DLL (编辑框1.内容)
编辑框2.内容 = “0x” + 十到十六 (模块句柄)
.子程序 _按钮3_被单击
.局部变量 函数入口, 整数型
函数入口 = 取函数入口 (模块句柄, 编辑框3.内容)
编辑框4.内容 = “0x” + 十到十六 (函数入口)
.子程序 _按钮4_被单击
释放DLL (模块句柄)
.子程序 _按钮2_被单击
模块句柄 = 取模块句柄 (编辑框1.内容)
编辑框2.内容 = “0x” + 十到十六 (模块句柄)
万挂作坊教程:模块与线程
http://files.cnblogs.com/wanghj-dz/%E8%BD%BD%E5%85%A5DLL.e.rar