TC官方合作论坛

 找回密码
 立即注册
查看: 2604|回复: 4

[插件] 从一个免费的网络验证插件在TC中的调用源码来讨论程序写法

[复制链接]
发表于 2014-7-31 23:28:24 | 显示全部楼层 |阅读模式
本帖最后由 chfxskok 于 2014-7-31 23:58 编辑

有些源码,值得我们看上一天,有些源码,不值我们看上一秒。

这里的这个例程,在TC源码中肯定能算得上经典。



源码下载地址:



空间 丁丁网络验证
//默认空间
变量 注册返回值
变量 软件编号
变量 传输密码
变量 静态数据
变量 当前版本
变量 版本号
变量 登陆成功
变量 升级信息
变量 更新方式
变量 取回的静态数据
变量 取回的附加数据
变量 文件长度
软件编号=3
传输密码="123abc"
静态数据="12345abcde"
当前版本="2.0"
登陆成功=0
//预先定义一些参数以供后边调用
//函数调用请参看通用语言插件的说明文档
//开始按钮_点击操作
功能 开始_点击()

功能结束

//退出按钮_点击操作
功能 退出_点击()

    辅助.退出()
功能结束







功能 按钮0注册_点击()   
    如果(文件.长度("DD.dll")!=851968)
        //取插件大小的数值 如果文件大小不对则退出
        //如若你对DD.dll进行了加密处理请自行取一下文件大小再修改这里的数值
        辅助.退出()
    如果结束
    控件.有效("按钮0注册",假)
    控件.有效("按钮1试用",假)
    //这里添加你要执行的代码
    注册返回值=dllcall("DD.dll","int","zhuce","char *",编辑框.获得文本("编辑框0注册码"),"int",软件编号,"char *",传输密码)
    //注册
    如果(注册返回值>20)
        版本号=dllcall("DD.dll","char *","qrjxx","int",4)
        //取服务器设定的最新版本号并且与当前版本进行比较
        如果(版本号!=当前版本)
            升级信息="该软件不是最新版"
        否则
            升级信息="该软件已经是最新版"
        如果结束
        辅助.消息框("登陆成功:到期时间:"&dllcall("DD.dll","char *","qrjxx","int",2)&"\n"&"升级信息:"&升级信息&"\n"&"软件公告:"&dllcall("DD.dll","char *","qrjxx","int",5)&"\n"&"更新地址:"&dllcall("DD.dll","char *","qrjxx","int",6))
        更新方式=dllcall("DD.dll","char *","qrjxx","int",7)
        如果(更新方式!="0")
            如果(版本号!=当前版本)
                辅助.命令(dllcall("DD.dll","char *","qrjxx","int",6),false)
                辅助.退出()
            如果结束
        如果结束
        登陆成功=0
        取回的静态数据=dllcall("DD.dll","char *","qrjxx","int",3)
        取回的附加数据=dllcall("DD.dll","char *","qrjxx","int",8)
        //在此可以对取回的数据进行判断及赋值以供程序调用
    否则
        辅助.消息框(dllcall("DD.dll","char *","tsxx"))
        控件.有效("按钮0注册",真)
        控件.有效("按钮1试用",真)
    如果结束
功能结束


功能 按钮1试用_点击()
    //这里添加你要执行的代码
    如果(文件.长度("DD.dll")!=851968)
        //取插件大小的数值 如果文件大小不对则退出
        //如若你对DD.dll进行了加密处理请自行取一下文件大小再修改这里的数值
        辅助.退出()
    如果结束
    控件.有效("按钮0注册",假)
    控件.有效("按钮1试用",假)
    控件.有效("按钮2解绑",假)
    //这里添加你要执行的代码
    注册返回值=dllcall("DD.dll","int","shiyong","int",软件编号,"char *",传输密码)
    //试用
    如果(注册返回值>20)
        版本号=dllcall("DD.dll","char *","qrjxx","int",4)
        //取服务器设定的最新版本号并且与当前版本进行比较
        如果(版本号!=当前版本)
            升级信息="该软件不是最新版"
        否则
            升级信息="该软件已经是最新版"
        如果结束
        辅助.消息框("试用成功:到期时间:"&dllcall("DD.dll","char *","qrjxx","int",2)&"\n"&"升级信息:"&升级信息&"\n"&"软件公告:"&dllcall("DD.dll","char *","qrjxx","int",5)&"\n"&"更新地址:"&dllcall("DD.dll","char *","qrjxx","int",6))
        更新方式=dllcall("DD.dll","char *","qrjxx","int",7)
        如果(更新方式!="0")
            如果(版本号!=当前版本)
                辅助.命令(dllcall("DD.dll","char *","qrjxx","int",6),false)
                辅助.退出()
            如果结束
        如果结束
        登陆成功=0
        取回的静态数据=dllcall("DD.dll","char *","qrjxx","int",3)
        取回的附加数据=dllcall("DD.dll","char *","qrjxx","int",8)
        //在此可以对取回的数据进行判断及赋值以供程序调用
    否则
        辅助.消息框(dllcall("DD.dll","char *","tsxx"))
        控件.有效("按钮0注册",真)
        控件.有效("按钮1试用",真)
        控件.有效("按钮2解绑",真)
    如果结束
功能结束


功能 按钮2解绑_点击()
    //这里添加你要执行的代码
    注册返回值=dllcall("DD.dll","int","jiebang","char *",编辑框.获得文本("编辑框0注册码"))
    如果(注册返回值!=1)
        辅助.消息框("解绑失败")
    否则
        辅助.退出()
    如果结束
功能结束

空间结束
//空间结束语句

本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2014-7-31 23:55:37 | 显示全部楼层
......DD又是神马插件
回复 支持 反对

使用道具 举报

发表于 2014-8-1 00:20:53 | 显示全部楼层
炒丁丁.
回复

使用道具 举报

发表于 2014-8-1 00:59:18 | 显示全部楼层
公爆…鸡—丁。。我是不是太黄了。。
回复 支持 反对

使用道具 举报

发表于 2014-8-1 08:15:34 | 显示全部楼层
......
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-5-19 22:32 , Processed in 0.035902 second(s), 23 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

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