TC官方合作论坛

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

作者: chfxskok    时间: 2014-7-31 23:28
标题: 从一个免费的网络验证插件在TC中的调用源码来讨论程序写法
本帖最后由 chfxskok 于 2014-7-31 23:58 编辑

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

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

[attach]16730[/attach]

源码下载地址:

[attach]16731[/attach]

空间 丁丁网络验证
//默认空间
变量 注册返回值
变量 软件编号
变量 传输密码
变量 静态数据
变量 当前版本
变量 版本号
变量 登陆成功
变量 升级信息
变量 更新方式
变量 取回的静态数据
变量 取回的附加数据
变量 文件长度
软件编号=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)
        辅助.消息框("解绑失败")
    否则
        辅助.退出()
    如果结束
功能结束

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


作者: b44412545    时间: 2014-7-31 23:55
......DD又是神马插件
作者: 续花丶    时间: 2014-8-1 00:20
炒丁丁.
作者: fyq2000    时间: 2014-8-1 00:59
公爆…鸡—丁。。我是不是太黄了。。
作者: q273814    时间: 2014-8-1 08:15
......




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1