1. 怎么写易语言软件的收费源码
可以的,这就是关系到软件的验证问题,验证方式通常有2种:
1:本地验证模式
通过提取用户电脑的特征码,然后加密一下,然后要求用户在购买时提供相关加密后的特征码!
然后在给用户软件时,重新把特征辩塌梁码写到程序中去,在程序运行时判断特征码是否相符!
当然,你需要自己写一个提取特征码并加密后输出的小工具给用户!
工具代码例:
.版本 2
.支持库携运 dp1
.局部变量 i
i = 取硬盘特征字 ()
.如果真 (i = 0)
编辑框1.内容 = “提取机器码失败”
返回 ()
.如果真结束
编辑框1.内容 = 取数据摘要 (加密数据 (到字节集 (i), “自定义加密钥匙”, ))
上面的代码采用硬盘的特征字来作为前提,然后再将内容加密,然后再将加密后的内容转为MD5,并显示到编辑框中,要求用户把编辑的内容发给你!
然后就是在软件中去效验一下了!较为安全的做法例子:
.版本 2
.支持库 dp1
.子程序 __启动窗口_创建完毕
.局部变量 i
.局部变量 用户提供的特征, 文本型
.局部变量 当前提取的特征, 文本型
用户提供的特征 = “在程序中应该将用户提供的特征再次MD5来避免破解者使用内存工具来破解验证部分”
' 用户提供的特征 =取数据摘要(到字节集 (用户提供的特征))'这是2次MD5的方式,但要另外做好,然后再在程序中直接赋值
' 当然了,你可以多次MD5,更加安全一些
i = 取硬盘特征字 ()
.如果真 (i = 0)
信息框 (“验证失败!”, 0, ) ' 编辑框1.内容 = “提取机器码失败”
返回 ()
.如果真结束
' 然后用同样的方法,将提取到的特征加密后,然后再根据你事先MD5的次数来处理
当前提取的特征 = 取数据摘要 (加密数据 (到字节集 (i), “自定义加密钥匙”, ))
.如果真 (当前提取的特征 ≠ 用户提供的特征)
时钟1.时钟周期 = 5000 ' 不直接结束程序,而是使用一个5秒的时钟
.如果真结束
'正常处理代码
.子程序 _时钟1_周期事件
结束 () ' 这样的处理方式,能做一些小欺骗,避免被轻易破解!
以上是一些验证方面的代码以及一些商业软件应具备一些防破解的意识!
当然了,要想真正做到防破解并不容易,这里的代码只能起到一些很小的作用,对于大鸟来说,这是没用的!防破解的技术比较复杂这里就不再说这个问题先!
2:c/s验证模式
即客户端和服务器通讯方式进行验证,这里的做法就好比QQ登陆一样,
提供一个用户注册的界面,而且为应用程序制作一个服务器,E语言可以使用客户端和服务器控件
进行TCP通讯,服务器部分需要有数据库,把用户的注册数据记录在数据库中!
客户端部分在用户操作注册的同时,把用户电脑的特征字也一并发送到服务器,
客户端再提供一个用户登陆界面,这样,用户输入账号和密码进行登陆,客户端把登陆的信息和当前登陆的用户的电脑的特征字发给服务器,服务器进行用户信息的验证和处理,服务器部分就可以根据这些信息进行处理!服务器处理后,再将结果发送给客户端,就好比QQ登陆时,当你的密码输入错误,服务器会发送一个密码输入错误的信息给客户端,然后客户端收到这个数据包后,就弹出一个窗口提醒用户,密码不正确,登陆失败的提示!代码太多,这就不写出来了!大致上需要掌握就是E的服务器和客户端控件的应用!
当然了,一般服务器比分,如果自己架设不适合的话,就需要去租服务器!
但是成本较大,租网页形式的,就需要会学ASP.net
并且有服务器的情况下,还可以考虑制作自动更新,每次客户端登陆的时候都把当前客户端的版本发给服务器,服务器进行版本验证,检查是否有更新的版本,然后通知衫轮客户端有新版本是否立即更新!
这里涉及更多的技术知识,我就不一一陈述了!
以上回答都是纯手工回答,贴出的代码均为实时在E中编写并贴出!
转载请注明出处...谢谢
2. 易语言 源码
.版本 2
.支持库 shellEx
.支持库 eAPI
.程序集 窗口程序集1
.子程序 __启动窗口_创建完毕
注册热键 (_启动窗口.取窗口句柄 (), 标签1.取窗口句柄 (), 0, #Q键)
.子程序 _标签1_反馈事件, 整数型
.参数 参数一, 整数型
.参数 参数二, 整数型
模拟按键 (#键2, , )
延时 (100)
模拟按键 (#键1, , )
延时 (100)
模拟按键 (#键3, , )
只需要在窗口中加一个标签组件就可以实现你要的功能了!!!
3. 易语言源码
哦 哦 ,那我给你个记事本的源码吧 如下
.版本 2
.支持库 iext2
.支持库 iext
.支持库 eAPI
.程序集 窗口程序集1
.程序集变量 文件路径, 文本型
.程序集变量 当前是否正在打字, 逻辑型
.子程序 _超级编辑框1_内容被改变, , , 更改超级编辑框的颜色
.局部变量 颜色, 字符格式
颜色.文本颜色 = 取颜色值 (取随机数 (0, 255), 取随机数 (0, 255), 取随机数 (0, 255))
超级编辑框1.置选择区字符格式 (颜色)
状态条1.置文本 (0, “行 ” + 到文本 (超级编辑框1.取行数 ()) + “ 文本长度 ” + 到文本 (超级编辑框1.取文本长度 ()))
.子程序 __启动窗口_创建完毕, , , 设置通用对话框
通用对话框1.过滤器 = “txt|*.txt”
通用对话框1.默认文件后缀 = “txt”
通用对话框1.标题 = “传说记事本保存对话框...”
_时间日期_被选择 ()
_炫银皮肤_被选择 ()
备忘录提醒 ()
.子程序 __启动窗口_位置被改变, , , 位置被改变后超级编辑框也跟着改变(按钮1也跟着改变)
.如果真 (_启动窗口.位置 = 3)
超级编辑框1.宽度 = 取屏幕宽度 () - 3
超级编辑框1.高度 = 取屏幕高度 () - 80 - 按钮1.高度 - 10
按钮1.顶边 = 取屏幕高度 () - 状态条1.高度 - 100
按钮1.宽度 = 取屏幕宽度 () - 5
按钮1.高度 = 状态条1.高度 + 10
.如果真结束
.如果真 (_启动窗口.位置 = 0)
超级编辑框1.宽度 = _启动窗口.宽度 - 10
超级编辑框1.高度 = _启动窗口.高度 - 55 - 按钮1.高度 - 10
按钮1.顶边 = 200
按钮1.宽度 = 560
.如果真结束
.子程序 _新建_被选择, , , New文件
.如果真 (超级编辑框1.内容 ≠ “”)
.如果真 (信息框 (“您还没保存!请问您要进行保存吗?”, 4, ) = #是钮)
通用对话框1.类型 = 1
通用对话框1.打开 ()
写到文件 (通用对话框1.文件名, 到字节集 (超级编辑框1.内容))
.如果真结束
.如果真结束
.子程序 _打开_被选择, , , Open文件
通用对话框1.类型 = 0
通用对话框1.打开 ()
.如果真 (通用对话框1.文件名 ≠ “”)
超级编辑框1.内容 = 到文本 (读入文件 (通用对话框1.文件名))
文件路径 = 通用对话框1.文件名
.如果真结束
.子程序 _保存_被选择, , , Save文件
.如果真 (文件路径 = “”)
通用对话框1.类型 = 1
通用对话框1.打开 ()
写到文件 (通用对话框1.文件名, 到字节集 (超级编辑框1.内容))
.如果真结束
.如果真 (文件路径 ≠ “”)
写到文件 (文件路径, 到字节集 (超级编辑框1.内容))
.如果真结束
.子程序 _保存到_被选择, , , Save As文件
通用对话框1.类型 = 1
通用对话框1.打开 ()
.如果真 (通用对话框1.文件名 ≠ “”)
写到文件 (通用对话框1.文件名, 到字节集 (超级编辑框1.内容))
.如果真结束
.子程序 _撤销_被选择, , , Undo 文本
超级编辑框1.撤消 ()
.子程序 _剪切_被选择, , , Cut 文本
超级编辑框1.剪切 ()
.子程序 _复制_被选择, , , Copy 文本
超级编辑框1.复制 ()
.子程序 _粘连_被选择, , , Paste文本
超级编辑框1.粘贴 ()
.子程序 _删除_被选择, , , Delete文本
超级编辑框1.删除 ()
超级编辑框1.内容 = 取文本左边 (超级编辑框1.内容, 取文本长度 (超级编辑框1.内容) - 1)
.子程序 _寻找_被选择, , , Find文本
载入 (Find窗口, , 真)
.子程序 _寻找下一个_被选择, , , 还没解决好
.子程序 _文本替换_被选择, , , 文本替换
载入 (文本替换窗口, , 真)
.子程序 _跳到_被选择, , , 还没解决好
载入 (跳到窗口, , 真)
.子程序 _全选_被选择, , , Select All文本
超级编辑框1.被选择字符数 = 取文本长度 (超级编辑框1.内容)
.子程序 _时间日期_被选择, , , Time-Date
.局部变量 小时, 文本型
.局部变量 分钟, 文本型
.局部变量 日期, 文本型
.局部变量 年份, 文本型
.局部变量 月份, 文本型
.局部变量 日份, 文本型
小时 = 到文本 (取小时 (取现行时间 ()))
分钟 = 到文本 (取分钟 (取现行时间 ()))
年份 = 到文本 (取年份 (取现行时间 ()))
月份 = 到文本 (取月份 (取现行时间 ()))
日份 = 到文本 (取日 (取现行时间 ()))
状态条1.置文本 (1, 小时 + “:” + 分钟 + “ ” + 年份 + “-” + 月份 + “-” + 日份)
.子程序 _传说记事本v13_被选择, , , About Notepad
信息框 (“软件作者:古老的传说” + #换行符 + “QQ:1041750677” + #换行符 + “MSN:[email protected]” + #换行符 + “编写工具:易语言” + #换行符 + “软件版本:1.3” + #换行符, 0, )
.子程序 _密码保管_被选择, , , Password Protect
载入 (密码窗口, , 真)
.子程序 _备忘录_被选择, , , 载入备忘录窗口
载入 (备忘录窗口, , 真)
.子程序 备忘录提醒, , , 备忘录提醒
.局部变量 分割文本, 文本型, , "0"
.局部变量 今天日期, 文本型
.局部变量 分割今天日期, 文本型, , "0"
分割文本 = 分割文本 (读配置项 (取运行目录 () + “\备忘录.ini”, “备忘录”, “提示日期”, ), “日”, )
今天日期 = 到文本 (取日期 (取现行时间 ()))
分割今天日期 = 分割文本 (今天日期, “日”, )
.如果真 (取数组成员数 (分割文本) = 1 或 取数组成员数 (分割文本) > 1)
.如果真 (分割文本 [1] = 分割今天日期 [1])
状态条1.置文本 (2, “您今天有一份备忘录噢^_^”)
.如果真结束
.如果真结束
.子程序 _银白皮肤_被选择, , , 银白皮肤
更换新皮肤 (1)
.子程序 _浅白皮肤_被选择, , , 浅白皮肤
更换新皮肤 (10)
.子程序 _浅灰皮肤_被选择, , , 浅灰皮肤
更换新皮肤 (13)
.子程序 _浅蓝皮肤_被选择, , , 浅蓝皮肤
更换新皮肤 (19)
.子程序 _浅黑皮肤_被选择, , , 浅黑皮肤
更换新皮肤 (5)
.子程序 _炫银皮肤_被选择, , , 炫银皮肤
更换新皮肤 (2)
.子程序 _炫白皮肤_被选择, , , 炫白皮肤
更换新皮肤 (15)
.子程序 _炫蓝皮肤_被选择, , , 炫蓝皮肤
更换新皮肤 (18)
.子程序 _深黑皮肤_被选择, , , 深黑皮肤
更换新皮肤 (14)
.子程序 __启动窗口_可否被关闭, 逻辑型, , 透明显示最小化运行
.局部变量 变量1, 整数型
变量1 = 255
.计次循环首 (255, )
设置窗口透明度 (_启动窗口.取窗口句柄 (), 变量1)
变量1 = 变量1 - 1
.如果真 (变量1 = 1)
置托盘图标 (#程序图标, “古老的传说记事本v1.2”)
_启动窗口.可视 = 假
.如果真结束
.计次循环尾 ()
返回 (假)
.子程序 __启动窗口_托盘事件, , , 透明显示_启动窗口
.参数 操作类型, 整数型
.局部变量 变量1, 整数型
.如果真 (操作类型 = 1)
_启动窗口.可视 = 真
.计次循环首 (255, 变量1)
设置窗口透明度 (_启动窗口.取窗口句柄 (), 变量1)
.计次循环尾 ()
.如果真结束
.如果真 (操作类型 = 3)
弹出菜单 (图标菜单, 取鼠标水平位置 (), 取鼠标垂直位置 ())
.如果真结束
.子程序 __启动窗口_将被销毁, , , 销毁任务栏图标
置托盘图标 ({ }, )
.子程序 _打开传说记事本_被选择, , , _启动窗口.可视=真
__启动窗口_托盘事件 (1)
.子程序 _销毁_被选择, , , 销毁软件
销毁 ()
.子程序 _超级编辑框1_按下某键, 逻辑型, , 正在打字中...
.参数 键代码, 整数型
.参数 功能键状态, 整数型
当前是否正在打字 = 真
按钮1.标题 = “正在打字中...”
时钟1.时钟周期 = 800
返回 (真)
.子程序 _超级编辑框1_放开某键, 逻辑型, , 暂停打字中...
.参数 键代码, 整数型
.参数 功能键状态, 整数型
当前是否正在打字 = 假
返回 (真)
.子程序 _时钟1_周期事件, , , 暂停打字中...
.如果真 (当前是否正在打字 = 假)
按钮1.标题 = “暂停打字中...”
.如果真结束
.子程序 _超级编辑框1_选择区被改变, , , 超级编辑框1.滚动
超级编辑框1.滚动 (1)
4. 易语言默认的保存源码的途径是哪里 求大神给我 刚写的源码忘了另存了哎
你所说的默认路径是对话框最后一次保存的路径,并没有固定的默认路径
1、你可以点击“程序”菜单-->>下面有一些近期使用过的源码文件!
2、新建一个源码文件,点保存,弹出的对话框路径就是这前保存的路径了
如下图:
5. 易语言源码是什么
就是 文件名.e的文件 用这个文件 可以修改程序的功能 界面等 把它改写成你自己的程序 如果你想学习易语言推荐去赤血学院 学习一下 哪里成套的视频教程 可以让你快速入门。
6. 易语言源码工具箱源码
制作方案:
准备一个要载入工具箱的exe
新建个易语言程序,进入易语言-插入-资源-图片或图片组
将图片1改为exe
双击内容
导入新图片
然后载入exe
回到启动窗口,新建个按钮,按钮输入代码:
写到文件("D:\临时调试文件.exe",#exe)
运行("D:\临时调试文件.exe")
删除文件("D:\临时调试文件.exe")
然后调试程序,点击那个按钮,你会发现刚才载入的exe运行了!