Deep BlueVBScriptWMIPHPC语言JavaScriptWindows API路由器Windows函数Python | VBS脚本中Sleep方法的最大延迟时间问题出自批处理之家一个标题为《VBS脚本的Sleep函数的最大延迟时间是多少?》的帖子:
VBS 中 WScript 对象的 Sleep 方法在内部应该调用的是 Sleep Windows API 函数,根据 MSDN 文档,Sleep 函数的声明如下: VOID WINAPI Sleep( __in DWORD dwMilliseconds ); Sleep 函数只有一个参数 dwMilliseconds,表示线程挂起的毫秒数,参数类型为 DWORD。MSDN 文档对 DWORD 类型是这么描述的:
DWORD 是32位无符号整数,范围是0到4294967295(2的32次方减一),所以理论上 Sleep 函数的最大延迟时间是 DWORD 能够表示的最大值4294967295毫秒。 4294967295毫秒是个什么概念呢?写个简单的 VBS 脚本换算一下: MsgBox (2 ^ 32 - 1) / (1000 * 60 * 60 * 24) 结果是49.7102696180556天,虽然不知道实际上是否能延迟那么长的时间,但是延迟3个小时还是没有问题的。 |