123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- //go:build windows
- // +build windows
- package hardwareinfo
- import (
- "encoding/json"
- "log"
- "net/http"
- "strconv"
- )
- func GetCPUInfo(w http.ResponseWriter, r *http.Request) {
- CPUInfo := CPUInfo{
- Freq: wmicGetinfo("cpu", "CurrentClockSpeed")[0],
- Hardware: "unknown",
- Instruction: wmicGetinfo("cpu", "Caption")[0],
- Model: wmicGetinfo("cpu", "Name")[0],
- Revision: "unknown",
- }
- var jsonData []byte
- jsonData, err := json.Marshal(CPUInfo)
- if err != nil {
- log.Println(err)
- }
- sendTextResponse(w, string(jsonData))
- }
- func Ifconfig(w http.ResponseWriter, r *http.Request) {
- var arr []string
- for _, info := range wmicGetinfo("nic", "ProductName") {
- arr = append(arr, info)
- }
- var jsonData []byte
- jsonData, err := json.Marshal(arr)
- if err != nil {
- log.Println(err)
- }
- sendTextResponse(w, string(jsonData))
- }
- func GetDriveStat(w http.ResponseWriter, r *http.Request) {
- var DeviceID []string = wmicGetinfo("logicaldisk", "DeviceID")
- var FileSystem []string = wmicGetinfo("logicaldisk", "FileSystem")
- var FreeSpace []string = wmicGetinfo("logicaldisk", "FreeSpace")
- var arr []LogicalDisk
- for i, info := range DeviceID {
- LogicalDisk := LogicalDisk{
- DriveLetter: info,
- FileSystem: FileSystem[i],
- FreeSpace: FreeSpace[i],
- }
- arr = append(arr, LogicalDisk)
- }
- var jsonData []byte
- jsonData, err := json.Marshal(arr)
- if err != nil {
- log.Println(err)
- }
- sendTextResponse(w, string(jsonData))
- }
- func GetUSB(w http.ResponseWriter, r *http.Request) {
- var arr []string
- for _, info := range wmicGetinfo("Win32_USBHub", "Description") {
- arr = append(arr, info)
- }
- var jsonData []byte
- jsonData, err := json.Marshal(arr)
- if err != nil {
- log.Println(err)
- }
- sendTextResponse(w, string(jsonData))
- }
- func GetRamInfo(w http.ResponseWriter, r *http.Request) {
- var RAMsize int = 0
- for _, info := range wmicGetinfo("memorychip", "Capacity") {
- DIMMCapacity, _ := strconv.Atoi(info)
- RAMsize += DIMMCapacity
- }
- var jsonData []byte
- jsonData, err := json.Marshal(RAMsize)
- if err != nil {
- log.Println(err)
- }
- sendTextResponse(w, string(jsonData))
- }
|