精确计时-顽石沉风

一个精准计时的例子。

; 示例
计时(,2)
Sleep 1000
计时()
return
;--------------------分割线----------------------------------

计时(名称="", 输出方式=0) {
  static 开始时间, _名称, _输出方式
  if !开始时间
  {
    开始时间 := 求当前时间的毫秒版()
    _名称 := 名称
    _输出方式 := 输出方式
  }
  else
  {
    结束时间 := 求当前时间的毫秒版()
    持续时间 := 结束时间 - 开始时间
    
    
    秒钟时间 := 持续时间 / 1000
    分钟时间 := 秒钟时间 / 60
    
    毫秒时间 := 持续时间 " ms"
    秒钟时间 := 秒钟时间 " s"
    分钟时间 := 分钟时间 " min"
    
    输出结果 := _名称 "`n" 毫秒时间 "`n" 秒钟时间 "`n" 分钟时间 "`n`n`n"
    
    switch _输出方式 {
      case 0:
        FileAppend, % 输出结果, 时间对比.txt
      case 1:
        stdout := FileOpen("*", "w")
        stdout.WriteLine(输出结果)
      case 2:
        MsgBox % 输出结果
    }
    
    开始时间=
    _输出方式=
    _名称=
  }
}

求当前时间的毫秒版(){
  return QueryPerformanceCounter() / QueryPerformanceFrequency() * 1000
}

QueryPerformanceFrequency() {
  DllCall("QueryPerformanceFrequency", "Int64*", freq)
  return freq
}

QueryPerformanceCounter() {
  DllCall("QueryPerformanceCounter", "Int64*", CounterBefore)
  return CounterBefore
}

给TA捐赠
共{{data.count}}人
人已捐赠
其他教程

获取光标的特征码-feiyue

2021-5-22 21:38:17

其他案例

【AHKv2】文件夹监控-大白

2021-5-22 21:48:57

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索