一个09版QQ登录器源码,不是我,从易论坛上找的.感觉不错.
声明:不是我的,是我收集的. 原理是模拟按键..版本 2.支持库 iext
.支持库 eAPI
.程序集 窗口程序集1
.程序集变量 路径, 文本型
.程序集变量 账号, 文本型
.程序集变量 User_hwnd, 整数型
.程序集变量 Pass_hwnd, 整数型
.程序集变量 Parent_hwnd, 整数型
.程序集变量 子窗口数组, 整数型, , "0"
.程序集变量 序列, 整数型
.程序集变量 密码, 文本型
.子程序 __启动窗口_创建完毕
路径 = 取文本注册项 (4, “SOFTWARE\TENCENT\QQ2009\Install”, ) + “\Bin\QQ.exe”
.如果真 (路径 = “\Bin\QQ.exe”)
信息框 (“未检测到QQ安装!”, 0, )
.如果真结束
打开 (取运行目录 () + “\use.edb”, “用户数据库”, 假, , , , )
置当前库 (取运行目录 () + “\use.edb”)
读取账号 ()
.子程序 读取账号
.判断循环首 (尾记录后 () = 假)
超级列表框1.插入表项 (, 读 (“id”), , , , )
跳过 ()
.判断循环尾 ()
.子程序 _超级按钮1_被单击
载入 (窗口1, , 真)
.子程序 _超级按钮2_被单击
清空 ()
超级列表框1.全部删除 ()
.子程序 _超级按钮3_被单击
登录 (账号, 密码)
.子程序 _超级列表框1_当前表项被改变
到首记录 ()
账号 = 超级列表框1.取标题 (超级列表框1.现行选中项, )
.判断开始 (查找 (读 (“id”) = 删首尾空 (账号)) = 真)
密码 = 读 (“pass”)
.默认
.判断结束
.子程序 登录
.参数 username, 文本型
.参数 password, 文本型
.局部变量 临时文本, 文本型
ShellExecute (0, “open”, 路径, “”, “”, #SW_SHOW)' 运行
延时 (1000)
Pass_hwnd = 0
EnumWindows (&子程序1, 0)' 枚举
.如果真 (Parent_hwnd = 0)
延时 (1000)
EnumWindows (&子程序1, 0)' 枚举
.如果真 (Parent_hwnd = 0)
延时 (1000)
EnumWindows (&子程序1, 0)' 枚举
.如果真 (Parent_hwnd = 0)
信息框 (“未找到登陆框!”, #警告图标, )
.如果真结束
.如果真结束
.如果真结束
SendMessage_String (User_hwnd, #wm_settext, 0, username)
临时文本 = #vds
临时文本 = 子文本替换 (临时文本, “||密码||”, password, , , 真)
写到文件 (“C:\windows\system32\temp.vbs”, 到字节集 (临时文本))
SetForegroundWindow (Parent_hwnd)
PostMessage (User_hwnd, 513, 0, 0)
PostMessage (User_hwnd, 514, 0, 0)
PostMessage (User_hwnd, #WM_KEYDOWN, #Tab键, 0)
PostMessage (User_hwnd, #WM_KEYUP, #Tab键, 0)
ShellExecute (0, “open”, “C:\windows\system32\temp.vbs”, “”, “”, 0)' 运行
.子程序 子程序1, 逻辑型, , 枚举父窗口
.参数 hwnd, 整数型
.局部变量 Text, 文本型
Text = _取窗口标题 (hwnd)
.如果真 (寻找文本 (Text, “QQ2009”, , 假) ≠ -1)
清除数组 (子窗口数组)
EnumChildWindows (hwnd, &子程序2, 0)
.如果真 (取数组成员数 (子窗口数组) = 2)
Parent_hwnd = hwnd
EnumChildWindows (Parent_hwnd, &子程序3, 0)
' 输出调试文本 (“父窗口句柄: ” + 到文本 (hwnd))
.如果真结束
.如果真结束
返回 (真)
.子程序 子程序2, 逻辑型, , 枚举子窗口个数
.参数 hwnd, 整数型
加入成员 (子窗口数组, hwnd)
返回 (真)
.子程序 子程序3, 逻辑型, , 枚举帐号、密码窗口句柄
.参数 hwnd, 整数型
.局部变量 ClassName, 文本型
ClassName = _取窗口类名 (hwnd)
.如果真 (ClassName ≠ “Edit”)
User_hwnd = hwnd
' 输出调试文本 (“账号子窗口句柄: ” + 到文本 (User_hwnd))
.如果真结束
.如果真 (ClassName = “Edit”)
Pass_hwnd = hwnd
' 输出调试文本 (“密码子窗口句柄: ” + 到文本 (Pass_hwnd))
.如果真结束
返回 (真)
.子程序 _取窗口类名, 文本型
.参数 hwnd, 整数型
.局部变量 ClassNmae, 文本型
ClassNmae = 取空白文本 (255)
GetClassName (hwnd, ClassNmae, 255)
返回 (ClassNmae)
.子程序 _取窗口标题, 文本型, , 取指定窗口的标题。成功返回窗口标题,失败返回空。
.参数 窗口句柄, 整数型
.局部变量 窗口标题, 文本型
.局部变量 总字符数, 整数型
.局部变量 临时整数, 整数型
临时整数 = 255
窗口标题 = 取空白文本 (临时整数)
SendMessage (窗口句柄, #WM_GETTEXT, 临时整数 + 1, lstrcpyn (窗口标题, 窗口标题, 0))
返回 (窗口标题)
.子程序 _超级列表框1_鼠标右键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
弹出菜单 (右键菜单, , )
.子程序 _增加_被选择
_超级按钮1_被单击 ()
.子程序 _清空_被选择
_超级按钮2_被单击 ()
.子程序 _登录_被选择
_超级按钮3_被单击 ()
.子程序 _图片框1_鼠标左键被放开, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
打开指定网址 (“http://www.xtzj.com//index.php?fromuid=359252”)
.子程序 _超级按钮4_被单击
信息框 (到文本 (#about), 0, )
不错的呀,看了 好像没有完全脱离QQ!!!!!! 下下来看看是什么效果 下下来看看是什么效果
页:
[1]