实现易语言界面库

易语言IDE自带了界面库,是通过“支持库(DLL)”来提供的。脱离这些库,你想写自己的界面程序? 易毕竟不是C。没有Win32 SDK 。从常量到API声明。光这些工作就能把你累个差不多。

以前也写过一个界面库。不过自己不是很满意。易语言写界面库。首要考虑的是效率问题。当然可以用内联汇编。不过易语言的内联汇编只能是置入机器码。因为填入的是机器码,当然不能链接,因此不能访问全局变量。也不能访问外部函数,包括用汇编调用API。巨麻烦!因此,填入的机器码最多也就能访问局部变量和传递进来的参数。

写界面库。第一步自然是消息映射了。首先得感谢“吴涛”提供了置入代码() 这么一个方便的函数。要查看易语言的一条语句的汇编代码

如上图,在一天语句前后分辨置入代码 {204} 204 就是 int 3 然后编译成可执行文件。运行。等待它崩溃(其实不是崩溃 Int 3 实际上是中断。程序运行到这条指令会暂停。)再选择VC调试。呵呵。

0040336F   int         3
00403370   push        0CD0490h
00403375   push        dword ptr [ebp+8]
00403378   call        00403363
0040337D   int         3

就这么简单,呵呵…… 两个 Int 3 就是我所置入的 代码 204 中间的就是调用一个对象的基类方法的过程。 第一个Push 是压入全局变量 arg 第二个 push 是压入PThis 因为是调用基类的方法。所以直接Call了一个立即数 就是vvv.basgmethod 的入口地址了。

通过这些方法。要了解易语言的对象的内存结构。就不难了。因为界面库大多是效率要求比较高的地方。用丁点儿汇编也是没办法的事。

先说一下易语言本身的限制。易语言可以获取子程序地址 用& 带程序名获取。但无法获取类方法的地址。 还好我要获取的不多。只要知道易的虚表。然后根据自己写的方法的索引找到它Call 一下就可以了。

界面库要实现消息映射,第一步就是将窗口句柄和窗口对象进行绑定。在这里我采用了 钩子的办法。WH_CBT钩子可以干这事。在 HCBT_CREATEWND 用窗口句柄当作 key 对象指针当作 值。保存到一个哈希表中。接下来就是子类化窗口了。写一个自己的窗口过程,在这里调用类里的窗口过程方法。(这里又要用到汇编了,原因是:哈希表里存的是对象指针 在易语言里是一个整数)。拿到这个整数。还要调用对象的方法。自然是只能用汇编了。

(0)

相关推荐

  • 修改易语言界面皮肤的方法

    为你家的e语言添加一个漂亮的皮肤吧[一行代码而已] 新建一个E语言程序.[动态数据链接库] 把_启动子程序 设定为公开 里面写上 加载皮肤 这个命令 [需要模块 .自己论坛找找] 在编译的时候..软件名改为SXS.DLL即可 然后放到易语言目录 此方法支持N种工具 游戏 同时还是一个很好的注入方法哦..自动注入的.

  • 易语言EXUI支持库制作红色简约网络验证UI界面的代码

    红色简约网络验证UI界面 .版本 2 .支持库 exui .支持库 spec .程序集 窗口程序集_启动窗口 .程序集变量 用户名, 文本型 .程序集变量 状态码, 文本型 .子程序 _头像_框架_鼠标左键按下 .参数 xy坐标, 整数型 .参数 wp, 整数型 _启动窗口.发送信息 (161, 2, 0) .子程序 _选择夹EX1_鼠标左键按下 .参数 xy坐标, 整数型 .参数 wp, 整数型 _启动窗口.发送信息 (161, 2, 0) .子程序 _登录_输入账号_鼠标左键按下 .参数 x

  • 用易语言设置简单的软件界面步骤

    人们在使用一个软件时,不但要求功能强大,同时也对软件的界面美观有很高的要求,漂亮大气上档次的界面常常会让人赏心悦目,提高人们使用的积极性. 1.首先确定你编写软件窗口需要采用无边框样式,这样在制作美工界面时就可以制作自己的界面舍弃系统界面. 2.在编写软件时候需要采用图像按钮,同时制作窗口的最大化最小化和关闭按钮 3.利用photoshop设计软件界面,设计软解界面不要都在同一个图层上设计,分开来设计,要有层次感, 4.在设计时候有时候需要用到别处的颜色,可以使用颜色拾起器取得颜色的代码 5.最

  • 易语言界面功能的使用详解

    易语言是一款用中文写程序代码的开发工具.为了用好它,基本的界面功能要先了解. 1.运行后,进入主界面 2.上方是菜单和工具按钮 3.左边是属性窗口 4.右边是属性窗口 5.中间是程序窗口 6.下方是信息提示窗口

  • 易语言窗口界面与菜单功能详解

    一.系统主窗口布局 在系统安装后第一次进入时,主窗口的顶端为菜单条,菜单条的下面为标准工具条,左边为工作夹,下边为状态夹,中间为"_启动窗口"的窗口设计界面,右边为窗口单元工具箱.另外,系统状态行默认是不显示的,使用组合夹可以将工作夹与输出夹组合到一起,编写程序时将使用程序编辑窗口. 在主窗口或其各类工具条上单击鼠标右键可以弹出用作设置各种工具条.工具夹显示状态的菜单. 二.工作夹 在工作夹中包括三个子夹,名为:"支持库"."程序"."

  • 易语言程序界面介绍

    用图解的方式对易语言的使用方法和操作技巧作了生动.系统的讲解. 运行易语言后,首先会显示易语言的新建对话框.这里大家先选"确定"钮进入. 进入j易语言编程界面 可以通过菜单"查看"→"工具条",以显示或隐藏这些工作夹. 菜单中归类列出了易语言的功能命令,通过菜单可完成诸如打开易程序,保存易程序等功能. 随时在程序设计中按下F1键可得到与主题相关的帮助. 标题栏可以看到易语言的目的平台,文件名,当前窗口等信息. 工具条是一些菜单中的常用命令,用一个

  • 实现易语言界面库

    易语言IDE自带了界面库,是通过"支持库(DLL)"来提供的.脱离这些库,你想写自己的界面程序? 易毕竟不是C.没有Win32 SDK .从常量到API声明.光这些工作就能把你累个差不多. 以前也写过一个界面库.不过自己不是很满意.易语言写界面库.首要考虑的是效率问题.当然可以用内联汇编.不过易语言的内联汇编只能是置入机器码.因为填入的是机器码,当然不能链接,因此不能访问全局变量.也不能访问外部函数,包括用汇编调用API.巨麻烦!因此,填入的机器码最多也就能访问局部变量和传递进来的参数

  • 易语言支持库简单安装加载添加

    1,首先,准备好欲安装的易语言支持库文件(fne.fnr或lib为后缀名等文件) 2,接下来,有必要对易语言支持库的文件做重要讲解.要安装支持库之前,先要弄明白易语言安装目录下的两个文件夹:lib和static_lib.lib文件夹内存放的以.fne或.fnr等后缀名的支持库文件,这里我们暂且称之为"普通库文件";static_lib文件夹内存放的"静态库文件",支持库文件名中包含"_static"字符且以.lib为后缀名的文件,这种文件可以支持

  • 易语言支持库的安装说明

    警告:为避免支持库在使用过程中发生错误及不稳定情况,请不要反编译,修改及破解支持库文件. 易语言及eyuyan是易语言公司在中国的注册商标. 本说明书中提到的公司名和产品名是相应公司的商标或注册商标. 一.系统要求 IBM PC AT或兼容机 Windows95或更高版本 支持库要求的最低易语言版本 注意:某些支持库必须有其他相应版本的软件支持才能达到预期效果. 二.支持库说明: 注意:所有支持库在发布之前已经过详细的测试,在正常环境下可以稳定使用,如果出现运行错误情况,用户可采用以下措施中的一

  • 总结升级易语言支持库保证向下兼容性

    易语言支持库升级之后,要保证向下兼容性,主要是做到以下几点: 一:保证原有的易语言源程序(.e)能正常打开(兼容点1).正常编译(兼容点2).编译结果正确(兼容点3): 二:保证原有的易语言程序(.exe)能正常运行(兼容点4).运行结果正确(兼容点5). 这里说的"原有的易语言源程序"和"原有的易语言程序"是指,替换新版支持库文件之前,使用旧版支持库编写的易语言源程序,和使用该源程序编译生成的可执行程序. 本文主要就此问题结合具体情况进行分析和总结. 一,为支持库

  • 解决易语言支持库配置出错退出

    Windows2003系统默认启用了"数据执行保护" 所以我们的易语言无法进行支持库配置,常见的表现为:执行支持库配置时候,程序意外退出,检查系统日志,没有任何日志存在. 比较好的解决办法为: 1.右击"我的电脑"-"属性"-"高级"-"性能"下的"设置"-"数据执行保护" 2.点击"添加",选择易语言的主程序位置,例如:C:\Program Fi

  • 易语言图片格式转换器制作方法

    图片格式转换器工具相当的多,实用性也是相当的强,除了软件能够转换,在线也能转换,没有想过自己制作一个这样的软件呢,现在就用易言语来制作一个简单的图片格式转换器,支持批量转换功能.拖入功能! 1.废话不多说了,先来做界面,这里用到通用对话框,拖放对象组件,图片列表采表框,预览图片采用画板,转换进度用了一个进度条,其他就是一些按钮.编辑框.组合框.还有一些标签,不怎么美观,也将就着用! 2.这里为了操作列表框,添加一个菜单,主要是删除列表框的内容,包括全部删除和删除选中,这个菜单就不用显示了,将其设

  • 易语言是主流编程语言吗?易语言是什么

    给大家详细介绍一下易语言 a.易语言感觉就是翻译成中文版的那些英语编译语言,易语言解决的问题是没有一点英文基础的编程初学者的入门问题,所以易语言的这个优势没有任何"入流"的机会 b.企业或者社会缺的看英文文档.论文的阅读能力的人 c.程序和英语,必须好玩才好玩下去 一.简介 易语言是一门以中文作为程序代码编程语言,其以"易"著称,创始人为吴涛.易语言早期版本的名字为E语言.其最早的版本的发布可追溯至2000年9月11日.创造易语言的初衷是进行用中文来编写程序的实践,

  • 易语言的优势总结

    总结易语言的特点如下: 1.全中文支持,全部自主知识产权 2.拥有自己的编译器 3.跨平台编程 4.拥有自己的数据库系统,且支持访问现有所有数据库. 5.内置专用输入法,支持中文语句快速录入 6.全可视化编程 7.中文本土化特色的支持 8.多种语言支持 9.可以与其它编程语言协作开发 10.支持世界先进编程技术 11.人机界面友好,集成化程序设计界面 12.代码即为文档.源程序格式统一 13.超强的程序编辑器 14.多媒体功能支持强大 15.完善的网络.端口通讯和互联网功能支持 16.支持调用A

随机推荐