为编程爱好者分享易语言教程源码的资源网
好用的代理IP,游戏必备 ____广告位招租____ 服务器99/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器
好用的代理IP,游戏必备 ____广告位招租____ 服务器低至38/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器

网站首页 > 脚本专栏 > 按键精灵相关 > 按键精灵Q语言 正文

按键精灵获取窗口信息脚本源码

三叶资源网 2018-10-08 10:20:16 按键精灵Q语言 6215 ℃ 27 评论

  该脚本查找当前窗口的子窗体,包括按钮、标签、图像、列表框等,并将这些子窗体的窗口句柄、类名、坐标信息,保存到c盘根目录下的log.txt文件中。 

  该脚本主要举例说明以下功能: 

  1、文本文件的读写操作。 

  2、Window插件的调用演示。 

  3、如何从一个长字符串中,按特定的格式分解出所需要的数据——Split函数使用 

  4、数组元素的使用方法。 

5、循环语句的使用。 

  4、如何调用软件(RunApp的使用)。 

运行环境:分辨率:1440x900 色深:32位 操作系统:Windows XP 按键精灵版本:7.00.3730

@兄弟工程师01 2009/3/19

//先定义变量是一个好习惯  
dim handle,handle1, s,s1,s2,s3, MyArray,parentH, fileHandle  
set TiShiObj = createobject("WScript.Shell")  
//=================== 主程序 ======================  
//创建一个文件名为  
fileHandle ="c:\log.txt"  
//调用子程序  
Gosub 查找窗体  
//用笔记本软件打开刚才保存的文件  
VBSCall RunApp(fileHandle)  
Rem 结束  
//弹出对话框,显示程序结束  
Call TiShiObj.Popup("程序终止运行",3,"3秒后窗口自动关闭",0)  
//msgbox "程序终止运行",64,"程序终止运行"  
//程序结束  
EndScript   
//================== 子程序 ========================  
Sub 查找窗体  
    //获取当前窗口的句柄  
    Plugin parentH = Window.Foreground()  
    //如果当前无窗口,则结束程序  
    If parentH = 0  
        VBSCall MessageBox("没有找到父窗口,程序结束")  
        Goto 结束  
    EndIf   
    //变量初始化  
    handle=1  
    handle1=0  
    //一直循环查找到子窗口,直到找不到为止  
    While handle<>0  
        //查找当前窗口的子窗口  
        Plugin handle = Window.FindEx(parentH, handle1,0,0)  
        //如果找到子窗口  
        If handle <> 0  
            //获取子窗口的信息, GetClientRect 返回的信息是一个字符串, 格式如:123|356|200|400  
            Plugin s = Window.GetClientRect(handle)  
            //按|对上面的字符串进行分割, 并保存到数组里面  
            //Split进行分割后, MyArray数组中的数组如下:  
            // MyArray(0) = 123  <---窗口的左边坐标  
            // MyArray(1) = 356  <---窗口的上边坐标  
            // MyArray(2) = 200  <---窗口的宽度  
            // MyArray(3) = 400  <---窗口的高度  
            //注意: 数组的第一个元素, 读取的时候是 MyArray(0), 而不是  MyArray(1)  
            //即数组元素的下标是从 0 开始, 而不是从 1 开始的  
            MyArray = Split(s, "|", -1, 1)  
            //用 & 连字符, 将各数组连接起来  
            s = "坐标(x,y):" & MyArray(0) & "," & MyArray(1) & " 宽度,高度:" & MyArray(2) & "," & MyArray(3)  
            //获取窗口的类名称  
            Plugin s1 = Window.GetClass(handle)  
            s1 = "类名: " & s1  
            //获取窗口的标题  
            Plugin s2 = Window.GetText(handle)  
            s2 = ",标题:" & s2  
            s3 = " 句柄: " & CStr(handle)  
            //保存上面的各种信息写到文件中,即c:\log.txt  
            If fileHandle <> -1  
                Plugin File.WriteFile(fileHandle, s1 & s2 & s & s3)  
            EndIf   
        EndIf   
        //更新handle1的值,以保证循环继续  
        handle1 = handle  
    EndWhile   
Return 查找窗体


来源:三叶资源网,欢迎分享,公众号:iisanye,(三叶资源网⑤群:21414575

已有27位网友发表了看法:

  • 三叶

    三叶  评论于 [2019-03-26 14:08:22]  回复

    按键精灵获取界面信息

  • 易语言TV

    易语言TV  评论于 [2019-10-31 21:26:21]  回复

    按键精灵怎么获取游戏窗口代码

  • 编程学习平台

    编程学习平台  评论于 [2021-04-13 12:53:32]  回复

    按键精灵怎么将网页内上下两个窗口分别点掉

  • eyuyanc

    eyuyanc  评论于 [2021-05-21 18:19:49]  回复

    按键精灵获取界面数据

欢迎 发表评论:

百度站内搜索
关注微信公众号
三叶资源网⑤群:三叶资源网⑤群

网站分类
随机tag
聚享游nodejs require支付枚举文件提取资源图标明朝时代页游脱机阳光车生活app滑块协议Unicode字符串网站开发框架火山PC开发平台信息框加群链接递归算法javascript面试题键盘钩子易语言树型框应用E2EE支持库Client
最新评论