1
0
mirror of https://github.com/shirou/gopsutil.git synced 2025-04-26 13:48:59 +08:00
shirou_gopsutil/host_windows.go

51 lines
828 B
Go
Raw Normal View History

2014-04-18 21:28:00 +09:00
// +build windows
2014-04-22 09:44:22 +09:00
package gopsutil
2014-04-18 21:28:00 +09:00
import (
2014-04-19 01:05:35 +09:00
"github.com/mitchellh/go-ps"
2014-04-18 21:28:00 +09:00
"os"
2014-04-18 22:02:35 +09:00
"syscall"
2014-04-18 21:28:00 +09:00
)
func HostInfo() (HostInfoStat, error) {
ret := HostInfoStat{}
2014-04-18 21:28:00 +09:00
hostname, err := os.Hostname()
if err != nil {
return ret, err
}
ret.Hostname = hostname
2014-04-18 22:02:35 +09:00
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
2014-04-19 01:05:35 +09:00
procs, err := ps.Processes()
if err != nil {
return ret, err
}
ret.Procs = uint64(len(procs))
2014-04-18 21:28:00 +09:00
return ret, nil
}
2014-04-22 21:39:18 +09:00
func Boot_time() (int64, error) {
return 0, nil
}
func Users() ([]UserStat, error) {
ret := make([]UserStat, 0)
return ret, nil
}