【发布时间】:2011-09-30 20:30:37
【问题描述】:
如何获取 XP Home 电脑的制造商和型号?三个月前我问了一个类似的问题here。答案很有帮助,但 Windows XP 家庭高级版没有wmic 或systeminfo。我在几台机器上查看了注册表,没有发现任何一致的模式。
你有什么想法吗?我想坚持使用 Java 和命令行。
【问题讨论】:
标签: java command-line windows-xp registry
如何获取 XP Home 电脑的制造商和型号?三个月前我问了一个类似的问题here。答案很有帮助,但 Windows XP 家庭高级版没有wmic 或systeminfo。我在几台机器上查看了注册表,没有发现任何一致的模式。
你有什么想法吗?我想坚持使用 Java 和命令行。
【问题讨论】:
标签: java command-line windows-xp registry
REG QUERY HKLM\HARDWARE\DESCRIPTION\System\BIOS -v SomeValueName 为您提供有关系统的一些信息,具体取决于您用于 SomeValueName 的内容。
SystemProductName 返回我笔记本电脑的型号。 BaseBoardProduct 具有相同的值,但完全有可能两者在某些机器上会有所不同。其中之一应该会给你一个型号。
SystemManufacturer 和 BaseBoardManufacturer 有我的笔记本电脑制造商的名称。同样,两者可能不同。
您也许可以通过查询HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation 来获取信息,即“型号”和“制造商”值。但这看起来像是在 OEM 安装期间存储的信息(例如当您使用戴尔的安装光盘在您的机器上重新安装 Windows 时),并且在自制系统上可能不存在(或可能无用)。
注意,REG QUERY 返回的内容是您可能需要解析的特定格式。这并不复杂,但REG QUERY /? 似乎没有提到摆脱标题和 REG_SZ 等返回的方法。
(另请注意:这对您来说可能很明显......但是当您使用Runtime.exec 执行程序以查询 Windows 注册表时,您将自己与 Windows 联系在一起。)
【讨论】:
使用Runtime.getRuntime().exec() 执行检查注册表的适当Windows 命令,捕获输出并解析它以获得您需要的信息。
【讨论】: