- 注释:先定义变量是一个好习惯
- 定义变量 handle, handle1, s, s1, s2, s3, MyArray, parentH, fileHandle
- 令 TiShiObj = createobject("WScript.Shell")
- 注释:=================== 主程序 ======================
- 注释:创建一个文件名为
- 令 fileHandle = "c:\log.txt"
- 注释:调用子程序
- 调用 查找窗体()
- 注释:用笔记本软件打开刚才保存的文件
- 调用 启动程序或打开文件 fileHandle
- 标记 结束
- 注释:弹出对话框,显示程序结束
- 调用 TiShiObj.Popup("程序终止运行",3,"3秒后窗口自动关闭",0)
- 注释:msgbox "程序终止运行",64,"程序终止运行"
- 注释:程序结束
- 脚本停止运行
- 注释:================== 子程序 ========================
- 子程序 查找窗体()
- 注释:获取当前窗口的句柄
- 令 parentH = Window.Foreground()
- 注释:如果当前无窗口,则结束程序
- 如果 parentH = 0 则
- 调用 弹出窗口 "没有找到父窗口,程序结束"
- 注释:Goto 结束
- 条件结束
- 注释:变量初始化
- 令 handle = 1
- 令 handle1 = 0
- 注释:一直循环查找到子窗口,直到找不到为止
- 循环当 handle <> 0 时
- 注释:查找当前窗口的子窗口
- 令 handle = Window.FindEx(parentH,handle1,0,0)
- 注释:如果找到子窗口
- 如果 handle <> 0 则
- 注释:获取子窗口的信息, GetClientRect 返回的信息是一个字符串, 格式如:123|356|200|400
- 令 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
- 令 MyArray = Split(s,"|",- 1 ,1)
- 注释:用 & 连字符, 将各数组连接起来
- 令 s = "坐标(x,y):" & MyArray(0) & "," & MyArray(1) & " 宽度,高度:" & MyArray(2) & "," & MyArray(3)
- 注释:获取窗口的类名称
- 令 s1 = Window.GetClass(handle)
- 令 s1 = "类名: " & s1
- 注释:获取窗口的标题
- 令 s2 = Window.GetText(handle)
- 令 s2 = ",标题:" & s2
- 令 s3 = " 句柄: " & CStr(handle)
- 注释:保存上面的各种信息写到文件中,即c:\log.txt
- 如果 fileHandle <> - 1 则
- 调用 File.WriteFileEx(fileHandle,s1 & s2 & s & s3)
- 条件结束
- 条件结束
- 注释:更新handle1的值,以保证循环继续
- 令 handle1 = handle
- 循环结束
- 子程序结束