易语言;取指定窗口标题,指定位置文本~

进程名:“GameApp.exe”
窗口标题:“QQ飞车2.0 Beta07 Build07 【电信区】 【流年忘却悲伤丬】”

要求:完美的取出“流年忘却悲伤丬”
我弄了6个按钮(登陆6个QQ飞车也能照样取出,而且不会出现 重复的、或者取不出来...)
就像那些辅助,需要填写昵称的不懂问我 我丘丘:179926003
求源码~

.版本 2
.支持库 eAPI

.子程序 _按钮9_被单击
.局部变量 Pro, 进程信息, , "0"
.局部变量 i, 整数型
.局部变量 o, 整数型
.局部变量 t, 文本型, , "0"

Pro = 取系统进程列表 ()
.计次循环首 (取数组成员数 (Pro), i)

    .判断开始 (Pro [i].进程名称 = “abd.exe”)  ' 任意你想要的进程名字
        o = SelectHW (Pro [i].进程标识符)
        .判断开始 (o ≠ 0)
            编辑框1.加入文本 (Pro [i].进程名称 + “ PID:” + 到文本 (Pro [i].进程标识符) + “ Hwnd:” + 到文本 (o) + “标题:” + 取窗口标题 (o) + #换行符)

            t = 分割文本 (取窗口标题 (o), “【”, )
            .判断开始 (取数组成员数 (t) = 3)
                t = 分割文本 (t [3], “】”, 1)
                编辑框1.加入文本 (“用户名字: ” + t [1] + #换行符)

            .默认

            .判断结束

        .默认

        .判断结束

    .默认

    .判断结束

.计次循环尾 ()

.子程序 SelectHW, 整数型, , 只会返回第一个符合的窗口句柄
.参数 Pid, 整数型
.局部变量 hws, 文本型, , "0"
.局部变量 i, 整数型
.局部变量 uid, 整数型

hws = 取所有窗口列表 ()
.计次循环首 (取数组成员数 (hws), i)
    HwndGetPro (到整数 (hws [i]), uid)
    .判断开始 (uid = Pid)
        返回 (到整数 (hws [i]))
    .默认

    .判断结束

.计次循环尾 ()
返回 (0)


.版本 2

.DLL命令 HwndGetPro, 整数型, "user32", "GetWindowThreadProcessId", , 返回值是线程id
    .参数 窗口句柄, 整数型
    .参数 进程ID, 整数型, 传址, 传递值得指针

追问

哥们,你这段代码是挺不错的,是我的错 没描述好 

像上面的图片 点击提取  就可以吧在电脑上登陆的QQ飞车 游戏昵称都提取出来,假如我电脑上只登陆了2个飞车,那么就1~2个按钮显示昵称 下面都是“未检测到‘

追答

检测的代码都给你了,而且也都能取出数据,取出后你不会用我也没办法了。
你想要的无非就是把
编辑框1.加入文本 (“用户名字: ” + t [1] + #换行符)
改成按钮x.标题= t [1] (这里的x是按钮编号)

最后告诉你添加
局部变量x 整数型 值是1
局部变量 AN 变量类型 按钮
每找到一个就+1.
每个按钮的属性页面的标记那里填上 1 -6. ,自己随意
到时候直接 AN = 取标记组件(x)‘可以取到指定标记的按钮的句柄
AN.标题= t [1]

进程循环完毕后检查 i 的值,

或者懒一点的直接写个
局部变量 p
计次循环 (6-i,p)
AN = 取标记组件(6-p+1)’因为p是从1开始计算,这个循环我也没验证,自己写
AN.标题= “未找到”

自己领会,50分也就做到这样了。。

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网