.版本 2 .子程序 遍历通知窗口, , , 通知弹窗信息遍历(框弹出时调用,读标志/窗体/文本框/两按钮) .局部变量 标志, 整数型 .局部变量 窗口管理器, 整数型 .局部变量 通知总对象, 整数型 .局部变量 弹窗对象, 整数型 .局部变量 窗体对象, 整数型 .局部变量 文本对象, 整数型 .局部变量 按钮确认, 整数型 .局部变量 按钮取消, 整数型 标志 = 内存_读整数型 (全局_进程句柄, #通知框标志值) .如果 (标志 = 1) 挂机信息.加入文本 (自定义时间 () + “通知框:弹出” + #换行符) .否则 挂机信息.加入文本 (自定义时间 () + “通知框:未弹出(标志=” + 到文本 (标志) + “),跳过遍历” + #换行符) 返回 () .如果结束 窗口管理器 = 内存_读整数型 (全局_进程句柄, #通知窗口管理器) .如果真 (窗口管理器 ≤ 0) 挂机信息.加入文本 (自定义时间 () + “窗口管理器未就绪” + #换行符) 返回 () .如果真结束 通知总对象 = 内存_读整数型 (全局_进程句柄, 窗口管理器 + 1028) .如果真 (通知总对象 ≤ 0) 挂机信息.加入文本 (自定义时间 () + “通知总对象未就绪” + #换行符) 返回 () .如果真结束 弹窗对象 = 内存_读整数型 (全局_进程句柄, 通知总对象 + 824) .如果真 (弹窗对象 ≤ 0) 挂机信息.加入文本 (自定义时间 () + “弹窗对象未就绪” + #换行符) 返回 () .如果真结束 窗体对象 = 内存_读整数型 (全局_进程句柄, 弹窗对象 + 816) 文本对象 = 内存_读整数型 (全局_进程句柄, 弹窗对象 + 820) 按钮确认 = 内存_读整数型 (全局_进程句柄, 弹窗对象 + 824) 按钮取消 = 内存_读整数型 (全局_进程句柄, 弹窗对象 + 828) 挂机信息.加入文本 (自定义时间 () + “弹窗对象:” + 到文本 (弹窗对象) + #换行符) 挂机信息.加入文本 (自定义时间 () + “窗体对象:” + 到文本 (窗体对象) + “ 类型码:” + 到文本 (内存_读整数型 (全局_进程句柄, 窗体对象 + 8)) + #换行符) 挂机信息.加入文本 (自定义时间 () + “文本对象:” + 到文本 (文本对象) + “ 控件ID:” + 到文本 (内存_读整数型 (全局_进程句柄, 文本对象 + 12)) + #换行符) 挂机信息.加入文本 (自定义时间 () + “確認按钮:” + 到文本 (按钮确认) + “ 控件ID:” + 到文本 (内存_读整数型 (全局_进程句柄, 按钮确认 + 12)) + “ 位置:” + 到文本 (内存_读整数型 (全局_进程句柄, 按钮确认 + 40)) + “,” + 到文本 (内存_读整数型 (全局_进程句柄, 按钮确认 + 44)) + “ 大小:” + 到文本 (内存_读整数型 (全局_进程句柄, 按钮确认 + 48)) + “x” + 到文本 (内存_读整数型 (全局_进程句柄, 按钮确认 + 52)) + #换行符) 挂机信息.加入文本 (自定义时间 () + “取消按钮:” + 到文本 (按钮取消) + “ 控件ID:” + 到文本 (内存_读整数型 (全局_进程句柄, 按钮取消 + 12)) + “ 位置:” + 到文本 (内存_读整数型 (全局_进程句柄, 按钮取消 + 40)) + “,” + 到文本 (内存_读整数型 (全局_进程句柄, 按钮取消 + 44)) + “ 大小:” + 到文本 (内存_读整数型 (全局_进程句柄, 按钮取消 + 48)) + “x” + 到文本 (内存_读整数型 (全局_进程句柄, 按钮取消 + 52)) + #换行符) .如果真 (内存_读整数型 (全局_进程句柄, 按钮取消 + 12) = 内存_读整数型 (全局_进程句柄, 按钮确认 + 12) + 1) 挂机信息.加入文本 (自定义时间 () + “按钮顺序校验:正常(確認=取消-1)” + #换行符) .如果真结束 挂机信息.加入文本 (自定义时间 () + “通知窗口遍历完成” + #换行符 + #换行符)