|
5精币
.版本 2
.支持库 xplib
.支持库 spec
.程序集 窗口程序集1
.程序集变量 用户名, 文本型
.程序集变量 保存名, 文本型
.程序集变量 chr1, 文本型
.子程序 __启动窗口_创建完毕
.局部变量 自动登录开关, 文本型
.局部变量 密码开关, 文本型
XP风格 (3)
组合框_帐号.获取焦点 ()
组合框_帐号.内容 = 读配置项 (取运行目录 () + “\user.ini”, “用户信息”, “lastname”, )
密码开关 = 读配置项 (取运行目录 () + “\” + 组合框_帐号.内容 + “.ini”, “用户信息”, “密码开关”, )
自动登录开关 = 读配置项 (取运行目录 () + “\config.ini”, “配置信息”, “自动登录”, )
调试输出 (到数值 (自动登录开关))
.如果 (到数值 (自动登录开关) = 1)
记住密码.选中 = 真
自动登录.选中 = 真
组合框_帐号.内容 = 读配置项 (取运行目录 () + “\user.ini”, “用户信息”, “用户名”, )
编辑框_密码.内容 = 读配置项 (取运行目录 () + “\user.ini”, “用户信息”, “密码”, )
提示信息.标题 = “正在自动登陆中,请稍候!”
' 自动输入密码
密码解密 ()
程序_延时 (3000) ' 延时3秒是为了给用户取消登录的机会
提示信息.标题 = “”
登录 ()
.否则
.如果结束
.如果 (到数值 (密码开关) = 1)
编辑框_密码.内容 = 读配置项 (取运行目录 () + “\” + 组合框_帐号.内容 + “.ini”, “用户信息”, “密码”, )
编辑框_密码.内容 = 编码_RC4解密 (编辑框_密码.内容)
记住密码.选中 = 真
登录 ()
.否则
.如果结束
.子程序 _登录_被单击
用户名 = 组合框_帐号.内容
保存名 = “\” + 用户名 + “.ini”
.如果 (组合框_帐号.内容 ≠ “” 且 编辑框_密码.内容 ≠ “”)
' 读写配置项
.如果真 (自动登录.选中 = 真)
记住密码.选中 = 真
登录 () ' 先传递正确的账户名与密码信息
程序_延时 (1000)
' 写开关
写配置项 (取运行目录 () + “\config.ini”, “配置信息”, “自动登录”, “1”)
' 写(已经存在就覆盖)自动登录的用户
写配置项 (取运行目录 () + “\config.ini”, “配置信息”, “username”, 用户名)
' 写最后一次登录的用户名
写配置项 (取运行目录 () + “\user.ini”, “用户信息”, “lastname”, 用户名)
' 写自动登录的配置信息
写配置项 (取运行目录 () + “\user.ini”, “用户信息”, “用户名”, 用户名)
' 清空密码
写配置项 (取运行目录 () + “\user.ini”, “用户信息”, “密码”, “”)
' 加密密码
密码加密 ()
程序_延时 (3000)
写配置项 (取运行目录 () + “\user.ini”, “用户信息”, “密码”, chr1)
调试输出 (“成功写配置!”)
返回 () ' 跳出子程序
.如果真结束
' 写用户名与密码
.如果 (记住密码.选中 = 真)
登录 () ' 先传递正确的账户名与密码信息
程序_延时 (1000)
写配置项 (取运行目录 () + “\user.ini”, “用户信息”, “lastname”, 组合框_帐号.内容)
写配置项 (取运行目录 () + 保存名, “用户信息”, “用户名”, 用户名)
写配置项 (取运行目录 () + 保存名, “用户信息”, “密码开关”, “1”)
' 加密密码
密码加密 ()
程序_延时 (3000)
' 清空密码
写配置项 (取运行目录 () + 保存名, “用户信息”, “密码”, “”)
' 写入加密后密码
写配置项 (取运行目录 () + 保存名, “用户信息”, “密码”, chr1)
.否则
登录 ()
程序_延时 (1000)
写配置项 (取运行目录 () + “\user.ini”, “用户信息”, “lastname”, 用户名) ' 写最后一次登录用户名
.如果结束
.否则
信息框 (“请输入帐号和密码!”, 0, “登录”)
.如果结束
.子程序 登录, , , '自己添加登录代码
.局部变量 帐号, 文本型
.局部变量 密码, 文本型
' 返回登录成功信息
' 登录.禁止=真 登录成功将按钮禁止
' ===================================
' 保存账户变量
' 帐号=用户名
' 密码=编辑框_密码.内容
' ===================================
' 登录代码开始
.子程序 _安全退出_被单击
.局部变量 开关, 整数型
开关 = 信息框 (“即将清除所有配置信息,你确定如此做吗?”, 1 + 32 + 256, “登录”)
.如果 (开关 = 1)
返回 ()
.否则
写配置项 (取运行目录 () + “\config.ini”, “配置信息”, “自动登录”, “”)
' 清除自动登录的用户
写配置项 (取运行目录 () + “\config.ini”, “配置信息”, “username”, “”)
' 清除最后一次登录的用户信息
写配置项 (取运行目录 () + “\user.ini”, “用户信息”, “lastname”, “”)
写配置项 (取运行目录 () + “\” + 组合框_帐号.内容 + “.ini”, “用户信息”, “用户名”, “”)
写配置项 (取运行目录 () + “\” + 组合框_帐号.内容 + “.ini”, “用户信息”, “密码”, “”)
写配置项 (取运行目录 () + “\” + 组合框_帐号.内容 + “.ini”, “用户信息”, “密码开关”, “”)
' 清除自动登录的配置信息
写配置项 (取运行目录 () + “\user.ini”, “用户信息”, “用户名”, “”)
写配置项 (取运行目录 () + “\user.ini”, “用户信息”, “密码”, “”)
' 退出程序
_启动窗口.销毁 ()
.如果结束
.子程序 _自动登录_被单击
.如果真 (自动登录.选中 = 真)
记住密码.选中 = 真
.如果真结束
.子程序 密码加密, , , '加密密码
.局部变量 chr0, 文本型
.局部变量 len, 整数型
.局部变量 i, 整数型
' 加密
chr0 = 编码_RC4加密 (编辑框_密码.内容)
调试输出 (chr0)
len = 取文本长度 (chr0)
调试输出 (len)
' 去掉","号
.计次循环首 (len, i)
.如果 (取文本中间 (chr0, i, 1) ≠ “,”)
.如果 (i % 2 = 0) ' 求余数混乱视线
chr1 = chr1 + 到大写 (取文本中间 (chr0, i, 1))
.否则
chr1 = chr1 + 到小写 (取文本中间 (chr0, i, 1))
.如果结束
.否则
.如果结束
i = i + 1
.计次循环尾 ()
.子程序 密码解密, , , '解密密码
.局部变量 code, 文本型
code = 读配置项 (取运行目录 () + “\user.ini”, “用户信息”, “密码”, )
编辑框_密码.内容 = 编码_RC4解密 (code)
.子程序 子程序1, , , '本来想加入写组合框账号列表的功能的,但水平有限
.局部变量 变量, 整数型
' 组合框_帐号.置项目文本 (0, )
' 变量 = 0
.' 计次循环首 (变量, )
' 写配置项 (取运行目录 () + “\config.ini”, “配置信息”, “变量”, 到文本 (变量))
' 写配置项 (取运行目录 () + “\config.ini”, “配置信息”, “username” + 到文本 (变量), 到文本 (变量))
.' 计次循环尾 ()
.子程序 _取消_被单击
' 本来想点取消就可以中断登录()子程序的执行,可是发现没办法
信息框 (“抱歉,功能未添加!”, 0, “登录”)
|
|