SetWinDelay
优质
小牛编辑
125浏览
2023-12-01
设置在每次执行窗口命令(例如 WinActivate)后自动的延时。
SetWinDelay, Delay
参数
- Delay
毫秒表示的时间, 可以为 表达式. 使用 -1 表示无延时, 而 0 表示最小延时. 如果未设置, 默认延时为 100.
备注
在每次执行除了 IfWinActive 和 IfWinExist 外的窗口操作命令后会自动进行短暂的延时. 这样做提高了脚本的可靠性, 因为有时对窗口进行创建, 激活或最小化等等操作后需要一个 "休息" 期. 这让它有机会更新它自己, 以便为下一个可能对它进行操作的命令进行响应.
虽然允许使用 -1(无延时),但是推荐至少使用 0,这样增加了 CPU 高负荷时脚本正确运行的几率。
延时为 0 时实际内部会执行 Sleep(0), 这样会将脚本时间片的剩余部分分配给其他需要的进程. 如果没有进程需要, 那么 Sleep(0) 相当于完全没有延时.
如果 CPU 比较慢或在负载下或启用的窗口动画, 那么可能需要较高的延迟值.
内置变量 A_WinDelay 包含了当前的设置.
每个新运行的 线程 (例如 热键, 自定义菜单项 或 定时 子程序) 都会以此命令的默认设置开始. 通过在脚本的自动执行段 (脚本的顶部) 使用此命令可以改变这个默认设置.
相关
SetControlDelay, SetKeyDelay, SetMouseDelay, SetBatchLines, SendMode
示例
SetWinDelay, 10