按键精灵!怎么对多窗口进行按键操作~比如用文本进行测试!

本人才来知道、财富值只有这么点!满意的话、感激不尽!!!

多线程

   BeginThread 同时运行过程

   


以下是命令说明


命令功能    

新开一个线程运行当前脚本,从指定的过程开始运行

   

命令参数    

字符串型,过程名
(注意:过程不能带参数,如:
Sub 过程(参数1)
End Sub

使用时会造成未知问题。)

   

以下是同时操作记事本代码

//多线程命令属于高级命令功能,不推荐新手使用。"
//所谓多线程并不是同时做一件相同的事情,而是不分前后顺序执行脚本。

Dimenv Hwnd1              //定义环境变量(多线程需要)
RunApp "notepad.exe"      //启动3个记事本测试用
RunApp "notepad.exe"
RunApp "notepad.exe"
Delay 2000                //等待3个记事本工具打开

Hwnd = Plugin.Window.Search("无标题 - 记事本") //搜索所有记事本窗口句柄
MyArray = Split(Hwnd, "|")                    //分解句柄
If UBound(MyArray) >= 0 Then                  //判断是否搜到句柄?
    For i = 0 To UBound(MyArray) - 1 
        hwndEx = Clng(MyArray(i))             //类型转换
        Call Plugin.Window.Move(hwndEx, i * 200 + 100, i * 200 + 100) //调整窗口位置
        Call Plugin.Window.Active(hwndEx)     //激活前面
        Hwnd1 = Plugin.Window.FindEx(hwndEx, 0, "Edit", 0)            //获取可打字的窗口句柄
        BeginThread 打字                      //启动线程
        Delay 100                             //启动线程需要点时间
    Next
End If

//以下是【无限循环】防止全部脚本停止。  
Do
    Delay 1000
Loop

//以下是【测试用】子程序例子  
Sub 打字()
    //首先获取环境变量句柄
    Hwnd2 = Hwnd1     
    //然后开始循环或者无限循环需要执行的脚本内容
    For i=0 to 20
        Call Plugin.Bkgnd.SendString(Hwnd2, i)
        Delay 100
        Call Plugin.Bkgnd.KeyPress(Hwnd2, 13)
        Delay 200
    Next
End Sub

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-09-16
找到每个窗口的句柄,循环给每个窗口进行按键操作
相似回答