.版本 2
.支持库 edroptarget
.支持库 dp1
.程序集 窗口程序集_启动窗口
.程序集变量 MD5, 文本型
.子程序 _拖放对象1_得到文件
.参数 接收到的文件路径, 文本型
编辑框1.内容 = 接收到的文件路径
.子程序 __启动窗口_创建完毕
拖放对象1.注册拖放控件 (取窗口句柄 ())
.子程序 _按钮1_被单击
.局部变量 字节集, 字节集
.局部变量 文件号, 整数型
.如果真 (文件是否存在 (编辑框1.内容))
文件号 = 大文件_打开文件 (编辑框1.内容, , , , )
字节集 = 大文件_读入字节集 (文件号, 大文件_取文件长度 (文件号))
MD5 = 取数据摘要 (字节集)
大文件_移到文件尾 (文件号)
大文件_写出字节集 (文件号, 到字节集 (MD5))
大文件_关闭文件 (文件号)
编辑框2.内容 = “MD5:” + MD5
信息框 (“写出成功”, 0, , )
.如果真结束
.子程序 _按钮2_被单击
置剪辑板文本 (#常量1)
信息框 (“复制成功”, 0, , )
.子程序 文件效验, 逻辑型, , 效验成功返回真,失败返回假,返回假表示改文件必然不是原始文件
.局部变量 局_运行目录, 文本型
.局部变量 局_执行文件名, 文本型
.局部变量 局_字节集, 字节集
.局部变量 局_MD5, 文本型
.局部变量 原始MD5, 文本型
局_运行目录 = 取运行目录 ()
局_执行文件名 = 取执行文件名 ()
局_字节集 = 读入文件 (局_运行目录 + “\” + 局_执行文件名)
原始MD5 = 到文本 (取字节集右边 (局_字节集, 32))
局_字节集 = 取字节集左边 (局_字节集, 取字节集长度 (局_字节集) - 32)
局_MD5 = 取数据摘要 (局_字节集)
.如果真 (局_MD5 = 原始MD5)
返回 (真)
.如果真结束
返回 (假)
易语言检测自身md5正确