1. 注释:先定义变量是一个好习惯
  2. 定义变量 handle, handle1, s, s1, s2, s3, MyArray, parentH, fileHandle
  3. 令 TiShiObj = createobject("WScript.Shell")
  4. 注释:=================== 主程序 ======================
  5. 注释:创建一个文件名为
  6. 令 fileHandle = "c:\log.txt"
  7. 注释:调用子程序
  8. 调用 查找窗体()
  9. 注释:用笔记本软件打开刚才保存的文件
  10. 调用 启动程序或打开文件 fileHandle
  11. 标记 结束
  12. 注释:弹出对话框,显示程序结束
  13. 调用 TiShiObj.Popup("程序终止运行",3,"3秒后窗口自动关闭",0)
  14. 注释:msgbox "程序终止运行",64,"程序终止运行"
  15. 注释:程序结束
  16. 脚本停止运行
  17. 注释:================== 子程序 ========================
  18. 子程序 查找窗体()
  19.     注释:获取当前窗口的句柄
  20.     令 parentH = Window.Foreground()
  21.     注释:如果当前无窗口,则结束程序
  22.     如果 parentH = 0 则
  23.         调用 弹出窗口 "没有找到父窗口,程序结束"
  24.         注释:Goto 结束
  25.     条件结束
  26.     注释:变量初始化
  27.     令 handle = 1
  28.     令 handle1 = 0
  29.     注释:一直循环查找到子窗口,直到找不到为止
  30.     循环当 handle <> 0 时
  31.         注释:查找当前窗口的子窗口
  32.         令 handle = Window.FindEx(parentH,handle1,0,0)
  33.         注释:如果找到子窗口
  34.         如果 handle <> 0 则
  35.             注释:获取子窗口的信息, GetClientRect 返回的信息是一个字符串, 格式如:123|356|200|400
  36.             令 s = Window.GetClientRect(handle)
  37.             注释:按|对上面的字符串进行分割, 并保存到数组里面
  38.             注释:Split进行分割后, MyArray数组中的数组如下:
  39.             注释: MyArray(0) = 123 <---窗口的左边坐标
  40.             注释: MyArray(1) = 356 <---窗口的上边坐标
  41.             注释: MyArray(2) = 200 <---窗口的宽度
  42.             注释: MyArray(3) = 400 <---窗口的高度
  43.             注释:注意: 数组的第一个元素, 读取的时候是 MyArray(0), 而不是 MyArray(1)
  44.             注释:即数组元素的下标是从 0 开始, 而不是从 1 开始的
  45.             定义变量 MyArray
  46.             令 MyArray = Split(s,"|",- 1 ,1)
  47.             注释:用 & 连字符, 将各数组连接起来
  48.             令 s = "坐标(x,y):" & MyArray(0) & "," & MyArray(1) & " 宽度,高度:" & MyArray(2) & "," & MyArray(3)
  49.             注释:获取窗口的类名称
  50.             令 s1 = Window.GetClass(handle)
  51.             令 s1 = "类名: " & s1
  52.             注释:获取窗口的标题
  53.             令 s2 = Window.GetText(handle)
  54.             令 s2 = ",标题:" & s2
  55.             令 s3 = " 句柄: " & CStr(handle)
  56.             注释:保存上面的各种信息写到文件中,即c:\log.txt
  57.             如果 fileHandle <> - 1 则
  58.                 调用 File.WriteFileEx(fileHandle,s1 & s2 & s & s3)
  59.             条件结束
  60.         条件结束
  61.         注释:更新handle1的值,以保证循环继续
  62.         令 handle1 = handle
  63.     循环结束
  64. 子程序结束