乐易论坛-乐易网易语言培训教程火山PC视窗中文编程交流论坛

 找回密码
 立即注册

手机号登录

用手机号号登陆

微信登录

微信扫码,快速开始

QQ登录

用QQ账号登陆

办理VIP,定制软件,报名培训联系QQ[重磅]2024年实地培训高清培训目录火山PC版乐易模块使用教程
请牢记揰掵佲的QQ号1615457736 1615457734 其他都是骗子有了火山,易语言是否还有必要学习吗?易语言0基础入门课程
火山PC视窗0基础入门课程易语言外挂0基础入门课程火山PC视窗火山HOOK入门课程
易语言误报处理课程QQ空间POST课程2022年火山PC易语言POST系列课程
Android逆向Jeb动态调试0基础课程QQ邮箱网页POST课程WeChat个微Hook实战课程
百日Js加密分析实战课程(无密下载)QQ群POST课程h5游戏WebSocket逆向视频
JavaScript加密特训课程易语言汇编快速入门课程破解实战系列课程
[2024年]火山PC0基础x64位游戏内存辅助开发教程手游模拟器脚本0基础课程易语言加密防破解0基础入门课程
广告位招租联系QQ1615457736  
查看: 16094|回复: 4

[个人原创] 读学易语言第十二章|阿正_技巧篇(一)

[复制链接]

[个人原创] 读学易语言第十二章|阿正_技巧篇(一)

[复制链接]
已绑定手机
阿正
等级头衔

等級:顶级Vip

Rank: 14Rank: 14Rank: 14Rank: 14

积分成就
易币
贡献
主题
精华
金钱
积分
1984
注册时间
2015-11-21
最后登录
1970-1-1

勋章墙

2017-4-12 13:03:32 | 显示全部楼层 |阅读模式

据统计90%查看本帖的人,都已经注册本站了哦

您需要 登录 才可以下载或查看,没有账号?立即注册

×
Apple-system, BlinkMacSystemFont, &quot">读学易语言第十二章_技巧篇(一)

本章适用于有一定易语言基础想发展学习post方面的人阅读,文章根据个人学习经验所写,如果有错误请指出。QQ交流群:308780188阿正QQ:964269020
公众号:阿正易语言
博客: www.eyuyan.vip
新浪微博:阿正易语言
头条号:阿正易语言
        进入正题,从这里开始,我会慢慢讲讲易语言的坑,坑有多大,怎么出坑。所以一定做好笔记,最好把涉及的坑都去过一遍。
        ①:作为第一个大坑,那肯定是坑大的。
寻找文本的时候要       寻找字节集( 到字节集(文本内容1),到字节集(文本内容2))  切忌不能直接使用寻找文本,否则会出现错误,只能寻找到第一个位置!因为寻找文本是寻找的半角符号(单字节),例如“-”等,而汉字是双字节为一个字。

这个是因为我们在处理复杂不固定文本的时候用到的,由于半角全角符号的问题导致。(bug出于2014年,目前不知道这个是bug还是什么问题,所以坑、、、)有兴趣的小伙伴可以去试试。
        ②:拖放控件在win7以上系统,用管理员身份运行会失效
注:这个我就不说了、、、应该很多人都知道的。
        ③:   对象大坑,凡事使用对象操作的,比如Js、正则、json,都需要在头尾加入线程初始化、线程取消初始化(大部分模块现在已经在模块里面封装好了,所以可以直接拿来调用,但是我们有时候自己处理的新建的对象就需要我们处理了)
   CoUninitialize ()取消COM库的初始化,如果你在线程头部加入了 线程_初始化COM库 请在尾部加入此命令
CoInitialize (0)有时执行线程的时候,会自动关闭,此时,可以在多线程的程序里创建COM对象前先初始化,一个线程只能调用一次

④:易语言破解坑:
od中,易语言时钟可以ctrl+G 搜索  SetTimer  区分大小写
按钮事件 在查找二进制中找  FF 55 FC 5F 5E
窗体事件  二进制查找 FF 25  或者 查找命令 push 10001
易语言文本比较通杀  二进制查找 8B 54 24 04 8B 4C 24 08 85 D2 75 0D 33 C0 85 C9 74 06 80 39 00 74 01 48 C3 85 C9 75 09 33 C0
找到的call就是文本对比 的关键
是坑还是技巧,仁者见仁智者见智。
⑤:CloseHandle (线程句柄 [o])  ' 关闭线程内核对象,释放资源
这玩意儿对于新手很迷糊,大部分人最开始学多线程的时候会这样写:

这样你启动个几百次肯定没什么问题,但是,有没有想过如果启动多了呢?很多人来问我“为什么我的多线程过一会儿就崩溃了?”
我的回答都是,关闭句柄、释放内存。
易语言是使用的VC的编译器,所以我们可以查看vc的资料
VC编程——句柄篇

    句柄概念在WINDOWS编程中是一个很重要的概念,在许多地方都扮演着重要的角色。但由此而产生的句柄概念也大同小异,比如:<<Microsoft Windows 3 Developer's Workshop>>(Microsoft Press,by Richard Wilton)一书中句柄的概念是:在Windows环境中,句柄是用来标识项目的,这些项目包括:
    *.模块(module)
    *.任务(task)
    *.实例(instance)
    *.文件(file)
    *.内存块(block of memory)
    *.菜单(menu)
    *.控制(control)
    *.字体(font)
    *.资源(resource),包括图标(icon),光标(cursor),字符串(string)等
    *.GDI对象(GDI object),包括位图(bitmap),画刷(brush),元文件(metafile),调色板(palette),画笔(pen),区域(region),以及设备描述表(device context)。


    WINDOWS程序中并不是用物理地址来标识一个内存块,文件,任务或动态装入模块的,相反的,WINDOWS API给这些项目分配确定的句柄,并将句柄返回给应用程序,然后通过句柄来进行操作。


    在<<WINDOWS编程短平快>>(南京大学出版社)一书中是这么说的:句柄是WONDOWS用来标识被应用程序所建立或使用的对象的唯一整数,WINDOWS使用各种各样的句柄标识诸如应用程序实例,窗口,控制,位图,GDI对象等等。WINDOWS句柄有点象C语言中的文件句柄。


    从上面的2个定义中的我们可以看到,句柄是一个标识符,是拿来标识对象或者项目的,它就象我们的姓名一样,每个人都会有一个,不同的人的姓名不一样,但是,也可能有一个名字和你一样的人。从数据类型上来看它只是一个16位的无符号整数。应用程序几乎总是通过调用一个WINDOWS函数来获得一个句柄,之后其他的WINDOWS函数就可以使用该句柄,以引用相应的对象。在WINDOWS编程中会用到大量的句柄,比如:HINSTANCE(实例句柄),HBITMAP(位图句柄),HDC(设备描述表句柄),HICON(图标句柄)等等,这当中还有一个通用的句柄,就是HANDLE,比如下面的语句:


    HINSTANCE hInstance;


可以改成:


    HANDLE hInstance;


    上面的2句语句都是对的。


    一个WINDOWS应用程序可以用不同的方法获得一个特定项的句柄。许多API函数,诸如CreateWindow,GlobalAlloc,OpenFile的返回值都是一个句柄值。另外,WINDOWS也能通过应用程序的引出函数将一个句柄作为参数传送给应用程序,应用程序一旦获得了一个确定项的句柄,便可在WINDOWS环境下的任何地方对这个句柄进行操作。其实句柄的大量使用已经影响到了每一个WINDOWS的程序设计。


    句柄只有当唯一的确定了一个项目的时候,它才开始有意义。句柄对应着项目表中的一项,而只有WINDOWS本身才能直接存取这个表,应用程序只能通过API函数来处理不同的句柄,举个例子来说吧!比如:我们可以为我们的应用程序申请一块内存块,通过调用API函数GlobalAlloc,来返回一个句柄值:


    hMem=GlobalAlloc(......);


    其实现在hMem的值只是一个索引值,不是物理地址,应用程序还不能直接存取这块内存。这儿还有一个话外题,就是,一般情况下我们在编程的时候,给应用程序分配的内存都是可以移动的或者是可以丢弃的,这样能使有限的内存资源充分利用,所以,在某一个时候我们分配的那块内存的地址是不确定的,因为他是可以移动的,所以得先锁定那块内存块,这儿应用程序需要调用API函数GlobalLock函数来锁定句柄。如下:


    lpMem=GlobalLock(hMem);


    这样应用程序才能存取这块内存。


从上我们可以看出,其实句柄也是占用内存的,句柄也是不会自动关闭的。另外就是很多人说,我这句柄是局部变量,应该会自动关闭的啊。可是,你控制线程里面的句柄是局部变量,但是你并没有在整个多线程运行完毕的时候关闭,因为我们可是多线程!!!
⑥:读入数据()    命令在之前必须使用移到文件首()
因为读入数据与之对应的是 写出数据()   从命令上面我们可以知道这个命令是支持无限写出的。在内存中,这里写出了数据,那么文件指针就不知道去哪里了?比如我第一个参数写出的事一个文本“1”,第二个是整数2,第三个是文本“3”的字节集{51},不同数据类型之间肯定有一定的结构,毕竟大家占用的内存大小都是不一样的,所以我们在读入的时候,要移到文件首,不然直接读取就会读出错误的数据。另外也建议大家在写出的时候最好采用通用的数据类型,好像是同时写出我上面说的三种数据类型也是会出错的,即便是移动了的,所以我一直让大家在多线程里面采用文本的方式去写出。
恩,差不多坑的第一篇差不多了,接下来的“坑”就大部分是和破解、内存有关的。


如果你觉得本文给了你帮助,那么请关注我的公众号吧:
阿正易语言





回复

使用道具 举报

已绑定手机
冯古屋
等级头衔

等級:【编程大师】

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分成就
易币
贡献
主题
精华
金钱
积分
1236
注册时间
2014-9-4
最后登录
1970-1-1

勋章墙

2017-4-13 09:03:54 | 显示全部楼层
蛮喜欢这篇文章的
回复

使用道具 举报

已绑定手机
何小白
等级头衔

等級:初识编程

Rank: 1

积分成就
易币
贡献
主题
精华
金钱
积分
9
注册时间
2018-12-6
最后登录
1970-1-1

勋章墙

2018-12-6 01:51:58 | 显示全部楼层
安萨加井冈山喀哒看看嘎洒的
回复

使用道具 举报

已绑定手机
何小白
等级头衔

等級:初识编程

Rank: 1

积分成就
易币
贡献
主题
精华
金钱
积分
9
注册时间
2018-12-6
最后登录
1970-1-1

勋章墙

2018-12-6 01:53:03 | 显示全部楼层
大家可以看看哈
回复

使用道具 举报

已绑定手机
何小白
等级头衔

等級:初识编程

Rank: 1

积分成就
易币
贡献
主题
精华
金钱
积分
9
注册时间
2018-12-6
最后登录
1970-1-1

勋章墙

2018-12-6 01:53:32 | 显示全部楼层
个人觉得说得挺好的
回复

使用道具 举报

如果懒得打字,请选择右侧内容快捷回复 提醒:以任何方式进行『恶意灌水』的行为,进行封号处理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

热点推荐上一条 /5 下一条

QQ|网站地图|手机版|小黑屋|乐易论坛-乐易网 | 湘ICP备19007035号

拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表乐易立场!

娄底市乐易网络科技有限公司声明:乐易原创培训课程版权均为我公司所有,未经许可,不得擅自翻录,盗版,破解本站课课程,我们将保留法律诉讼的权利

GMT+8, 2024-5-20 05:24 , Processed in 0.055577 second(s), 46 queries .

Powered by Discuz! X3.4

Copyright © Tencent Cloud.

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