WMIC查询获取本地硬件信息(主板型号,硬盘序列号,CPU参数等)

这次负责一个小模块,做一个本地服务程序获取本机的硬件信息,组装成XML文件。

 

语言:Java

平台:Windows 2003及以上的各版本Windows

 

因为在Windows系统上有非常强大的WMIC(Windows ManagementInstrumentation)工具, WMIC工具获得本计算机的相关信息。

 

WMIC

WMIC使用了别名机制,通过我们可以理解的语言来操作复杂的WMI命名空间。通过这个这个工具我们可以用简单的WQL(类似SQL)语句,通过一个简单的Get命令就可以得到我们需要的信息。

 

比如 

 

wmic os get name.                                              //得到操作系统的名称。
wmic logicaldisk get caption                             //获得磁盘的逻辑分区信息

WMIC 的使用基本不需要教程,因为它的帮助功能非常方便。在任何一个分级都可以通过 /?选项获得详细的帮助消息。

 

比如 

 

wmic os get /?

 

获取计算机信息

由于java是跑在jvm上的,因此想要调用wmic需要先获的runtime对象,然后

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在golang中,要完整详细地获取CPU ID、硬盘等各种硬件信息,通常需要使用操作系统(OS)提供的相关接口和系统工具。下面分别介绍如何获取这些信息: 1. 获取CPU ID: 要获取CPU ID,可以使用golang的相关库如`github.com/shirou/gopsutil/cpu`。 该库提供了获取CPU信息的接口。下面是一个示例代码片段: ```go package main import ( "fmt" "github.com/shirou/gopsutil/cpu" ) func main() { infos, err := cpu.Info() if err != nil { fmt.Printf("Failed to get CPU info: %v", err) return } for _, info := range infos { fmt.Printf("CPU ID: %v\n", info.SerialNumber) // 获取CPU序列号 } } ``` 2. 获取硬盘信息: 要获取硬盘信息,可以使用golang的库`github.com/shirou/gopsutil/disk`。该库提供了获取硬盘信息的接口。下面是一个示例代码片段: ```go package main import ( "fmt" "github.com/shirou/gopsutil/disk" ) func main() { partitions, err := disk.Partitions(false) // 获取分区信息 if err != nil { fmt.Printf("Failed to get disk partitions: %v", err) return } for _, partition := range partitions { fmt.Printf("Partition: %v\n", partition.Device) info, err := disk.Usage(partition.Mountpoint) // 获取分区使用情况 if err != nil { fmt.Printf("Failed to get disk usage: %v", err) continue } fmt.Printf("Usage: %v\n", info.Used) } } ``` 以上代码用于获取硬盘的分区信息和使用情况。 除了使用golang的库,也可以通过调用外部系统工具的方式获取硬件信息。例如,可以使用`os/exec`库调用`wmic`命令(Windows环境下)或`lshw`命令(Linux环境下)来获取更详细的硬件信息。 例如,在Linux环境下,可以使用以下代码来获取硬件信息: ```go package main import ( "bytes" "fmt" "os/exec" ) func main() { cmd := exec.Command("lshw", "-short") var out bytes.Buffer cmd.Stdout = &out err := cmd.Run() if err != nil { fmt.Printf("Failed to get hardware info: %v", err) return } fmt.Printf("Hardware Info:\n%s", out.String()) } ``` 以上代码使用`lshw -short`命令获取硬件信息。 需要注意的是,具体获取硬件信息的方式和结果可能因操作系统而异。可以根据实际情况选择合适的方法来获取硬件信息

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值