diff --git a/host_windows.go b/host_windows.go index 2f424f4..b18c28a 100644 --- a/host_windows.go +++ b/host_windows.go @@ -4,6 +4,7 @@ package main import ( "os" + "syscall" ) func (h Host) HostInfo() (HostInfo, error) { @@ -15,5 +16,15 @@ func (h Host) HostInfo() (HostInfo, error) { ret.Hostname = hostname + kernel32, err := syscall.LoadLibrary("kernel32.dll") + if err != nil { + return ret, err + } + defer syscall.FreeLibrary(kernel32) + GetTickCount, _ := syscall.GetProcAddress(kernel32, "GetTickCount") + + uptimemsec, _, err := syscall.Syscall(uintptr(GetTickCount), 0, 0, 0, 0) + + ret.Uptime = int64(uptimemsec) / 1000 return ret, nil }