sysutil_windows.go 394 B

12345678910111213141516171819202122
  1. // +build windows
  2. package sysutil
  3. import (
  4. "syscall"
  5. "time"
  6. )
  7. var (
  8. kernel32DLL = syscall.MustLoadDLL("kernel32")
  9. procGetTickCount64 = kernel32DLL.MustFindProc("GetTickCount64")
  10. )
  11. func init() {
  12. res, _, err := syscall.Syscall(procGetTickCount64.Addr(), 0, 0, 0, 0)
  13. if err != 0 {
  14. btime = time.Now()
  15. return
  16. }
  17. btime = time.Now().Add(time.Duration(-res) * time.Millisecond)
  18. }