- 重构 sysconf 为文档模型 INI Parser 与 Config Framework - 强化 hosts 解析、插入校验、写回与异常输入处理 - 完善 StarCmd 生命周期、等待 API、流式输出与 IO 重定向 - 扩展跨平台文件时间、文件锁、内存、进程与网络能力 - 将 Windows 进程适配更新到 b612.me/wincmd v0.1.0 - 移除本地 wincmd/win32api replace,改用发布版依赖 - 将最低 Go 版本提升到 1.18 - 补充 hosts、sysconf、FileLock、StarCmd 与平台适配回归测试
29 lines
794 B
Go
29 lines
794 B
Go
//go:build windows
|
|
// +build windows
|
|
|
|
package staros
|
|
|
|
import "b612.me/win32api"
|
|
|
|
// Memory 系统内存信息
|
|
func Memory() (MemStatus, error) {
|
|
var mem MemStatus
|
|
ram := new(win32api.MEMORYSTATUSEX)
|
|
_, err := win32api.GlobalMemoryStatusEx(ram)
|
|
if err != nil {
|
|
return mem, err
|
|
}
|
|
mem.All = uint64(ram.UllTotalPhys)
|
|
mem.Free = uint64(ram.UllAvailPhys)
|
|
mem.Available = uint64(ram.UllAvailPhys)
|
|
mem.Used = uint64(mem.All - mem.Free)
|
|
mem.SwapAll = uint64(ram.UllTotalPageFile)
|
|
mem.SwapFree = uint64(ram.UllAvailPageFile)
|
|
mem.SwapUsed = mem.SwapAll - mem.SwapFree
|
|
mem.VirtualAll = uint64(ram.UllTotalVirtual)
|
|
mem.VirtualAvail = uint64(ram.UllAvailVirtual)
|
|
mem.VirtualUsed = mem.VirtualAll - mem.VirtualAvail
|
|
mem.AvailExtended = uint64(ram.UllAvailExtendedVirtual)
|
|
return mem, nil
|
|
}
|